Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: notes_andy am 22.04.13 - 17:29:05

Titel: XML Wert
Beitrag von: notes_andy am 22.04.13 - 17:29:05
Hallo

Ich versuche einen Wert den ich im XML String bekomme auszulesen.
Sollt nun nicht bei diesem Code in CHILD --> NODEVALUE der Wert stehen.

Zitat
Sub Click(Source As Button)
   Dim sess As New NotesSession
   Dim iStream As NotesStream
   Dim oStream As NotesStream
   Dim child As notesdomnode
   Dim rootElement As NotesDOMElementNode
   Dim doc As NotesDOMDocumentNode
   
   Set iStream = sess.CreateStream
   Set oStream = sess.CreateStream
   Call iStream.Writetext({<?xml version="1.0" encoding="utf-8"?><datazone-document><TNN>12345</TNN><OCC>RCCC</OCC><ORGG>IT00234</ORGG></datazone-document>})
   Dim parser As NotesDOMParser
   Set parser = sess.Createdomparser(iStream, oStream)
   
   On Error Goto errhand
   Call parser.Process()
   Set doc = parser.Document
   Set rootElement = parser.Document.DocumentElement
   Set child = rootElement.FirstChild
   
   Exit Sub
errhand: Msgbox parser.Log
   Exit Sub   
End Sub

lg. Andreas
Titel: Re: XML Wert
Beitrag von: Thomas Schulte am 22.04.13 - 17:44:19
Nein. der steht dann im firstchild.
Titel: Re: XML Wert
Beitrag von: flaite am 22.04.13 - 22:33:12
Les Dir eine Einführung von DOM Api durch.
Der Text zwischen den Tags befindet sich in eigenen Nodes.
Es gibt üblere Fallen in dieser API. Z.B. kann das was Du in Nodevalue erwartest auch über mehr childs verstreut sein.
Kein Zufall, dass sich DOM in Java nicht durchsetzte und ca. 2002 all diese vielen XML Apis entstanden. DOM-API sieht auf den ersten Blick highlevel aus, is aber low level.
Beherrschbar, aber ich hab in Notes immer lieber SAX genommen.

Titel: Re: XML Wert
Beitrag von: notes_andy am 23.04.13 - 14:30:29
Hallo

FirstChild ist die Lösung.

Danke für die Hilfe.

lg. Andreas