Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Don Pasquale am 21.01.04 - 14:32:03

Titel: Import von XML
Beitrag von: Don Pasquale am 21.01.04 - 14:32:03
Hallo Leute,

ich habe ein Lotus-Dokument mit folgendem Code exportiert und habe
nun eine .xml Datei vorliegen.
Nun will ich den Weg zurück und aus einem .xml Dokument ein
Lotus Dokument machen. Kann mir jemand einen Tipp geben in welche Richtung ich gehen muss.

Dim session As NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim stream As NotesStream
Dim exporter As NotesDXLExporter
Dim sName As String
   
   
Dim ABLAGE As String
Dim PFAD As String
   
Ablage = getParam("ArcDir")
PFAD = ABLAGE & "\" & Unid
   
   
Set session = New NotesSession
Set db  = session.CurrentDatabase
Set doc = db.GetDocumentByUNID(unid)
Set stream = session.CreateStream
   
sName = Pfad  & "\" & unid & ".xml"   
   
If Not stream.Open( sName ) Then
   Messagebox "Cannot open " & sName,, "Error"
   'Exit Sub
   saveBody = 0
   Else
   Call stream.Truncate
   Set exporter = session.CreateDXLExporter ( Doc, stream )
   Call exporter.process ()'
      
End If
   
Set stream = Nothing      



Habe nun, ach! RichText,
ByteArray und EmbeddedObjects,
Und leider auch binärDateien
Durchaus studiert, mit heißem Bemühn.
Da steh' ich nun, ich armer Tor,
Und bin so klug als wie zuvor!



Ciao
Don Pasquale
Titel: Re:Import von XML
Beitrag von: animate am 21.01.04 - 15:05:56
from Help:

This agent imports DXL from a file into an existing database. The agent replaces the documents in the database with the documents from the incoming DXL.
Sub Initialize
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Set db = session.CurrentDatabase
  filename$ = Left(db.FileName, Len(db.FileName) - 4)
 
  REM Open xml file named after current database
  Dim stream As NotesStream
  Set stream = session.CreateStream
  If Not stream.Open("c:\dxl\" & filename$ & ".dxl") Then
    Messagebox "Cannot open " & filename$,, "Error"
    Exit Sub
  End If
  If stream.Bytes = 0 Then
    Messagebox "File did not exist or was empty",, filename$
    Exit Sub
  End If
 
  REM Replace documents in this database with matching ones in the DXL
  Dim importer As NotesDXLImporter
  Set importer = session.CreateDXLImporter(stream, dbCopy)
  importer.DocumentImportOption = DXLIMPORTOPTION_REPLACE_ELSE_IGNORE
  Call importer.Process
End Sub

du musst für deine Zwecke evtl. das DocumentImportOption-Attribut ändern, mehr dazu in der Hilfe
Titel: Re:Import von XML
Beitrag von: Don Pasquale am 21.01.04 - 15:12:23
@Thomas,

Ich bin schon sehr verblüfft. Danach habe ich ziemlich lange gesucht. Das war wohl Feigheit vor dem XML- Feind.

Herzlichen Dank für Deine Hilfe und vor allem Deine Hartnäckigkeit.

Ciao
Don Pasquale

Ich werde das testen und dann auf erledigt setzen.
Titel: Re:Import von XML
Beitrag von: animate am 21.01.04 - 15:27:29
siehste, war gar nicht so schlimm.
und das ist nur der Anfang von dem, was du alles damit machen kannst...
Titel: Re:Import von XML
Beitrag von: Don Pasquale am 21.01.04 - 15:29:09
Das war erst der Anfang ,
was kann ich noch machen ?
Kaffee kochen ?
Pac-Man spielen, oder Space-Invaders ?

Alles mit XML ?

Ciao
Don Pasquale