Domino 9 und frühere Versionen > ND8: Entwicklung
Import XML mit NotesDOMParser class
manderson:
Guten Morgen!
nach dem ich jetzt xml exportieren kann, will ich auch ein Import einbauen. Habe bereits herausgefunden dass dies wohl mit der NotesDOMParser class machbar ist. Ich habe zum Einstieg ins Thema das Beispiel von IBM verwendet:
http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=%2Fcom.ibm.designer.domino.main.doc%2FH_EXAMPLES_NOTESDOMPARSER_CLASS_EX.html
Doch wenn ich das Beispiel ausführe enthält die erstellte Datei folgenden Text:
--- Zitat ---DOM Parser Report - Walk Tree agent
errh: 4602: DOM parser operation failed
--- Ende Zitat ---
Leider werde ich nicht daraus schlau ob meine XML Datei nicht ordnungsgemäß Strukturiert ist (was aber eigentlich sein müsste) oder der Fehler wo anders liegt. ???
Kann mir jemand dazu was sagen?
manderson:
Okay, mein Fehler ein kleiner Fehler (Groß/Kleinschreibung) in der xml war doch der Ausschlaggeber *ups*
flaite:
Du kannst selbsterstellte xml-Dokumente in z.B. das hier reinwerfen zum Testen.
http://www.w3schools.com/xml/xml_validator.asp
Wir sprechen hier über das Feld über dem "validate" Knopf.
Gibt auch offenbar aussagekräftigere Fehlermeldung als Notes.
manderson:
Danke habs mit den validator von w3 gemerkt - http://validator.w3.org/
Lese gerade dieses Thema (http://atnotes.de/index.php/topic,45337.0.html) und wenn ich es richtig verstehe kann ich diesen Block in das Beispiel von IBM einfügen um ein neues Dokument anzulegen und auch die Nodes in die Dokumente einzuschreiben?
--- Code: ---Case DOMNODETYPE_ELEMENT_NODE:
Dim doc As NotesDocument
Dim session As NotesSession
Dim db As NotesDatabase
Set session = New NotesSession
Set db = session.CurrentDatabase
If node.nodename = "machineID" Then
Set doc = db.CreateDocument
doc.form = "all"
End If
--- Ende Code ---
Doch irgendwie kommt dabei nicht herraus wenn ich dies in den walkTree abschnitt setze ...
manderson:
Sieht jemand den fehler ???
--- Code: --- Case DOMNODETYPE_ELEMENT_NODE: ' Most nodes are Elements
domParser.Output("Element node: "+node.NodeName )
Set elt = node
Dim doc As NotesDocument
Dim session As NotesSession
Dim db As NotesDatabase
Set session = New NotesSession
Set db = session.CurrentDatabase
If node.nodename = "machineID" Then
Set doc = db.CreateDocument
doc.form = "form_machine"
doc.machineId = Node.Firstchild.Nodevalue
Call doc.Save( True, True )
End if
If node.nodename = "machineManufacturer" Then
doc.form = "form_machine"
doc.machineManufacturer = Node.Firstchild.Nodevalue
Call doc.Save( True, True )
End If
--- Ende Code ---
Es wird ein neus Dokument und der Eintrag für machineID erstellt, aber machineManufacturer bleibt leer...
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln