18. Mai 2018 09:28
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Nachricht xmlns="www.example.com">
<Nachrichtenkopf>
...
</Nachrichtenkopf>
<Inhalt>
<Betrag>12</Betrag>
<Nummer>45</Nummer>
</Inhalt>
<Inhalt>
<Betrag>67</Betrag>
<Nummer>89</Nummer>
</Inhalt>
</Nachricht>
lXMLDOMDocument DotNet System.Xml.XmlDocument - System.Xml
lXMLNameSpaceManager DotNet System.Xml.XmlNamespaceManager - System.Xml
lCurrNode DotNet System.Xml.XmlNode - System.Xml
lNodeListElement DotNet System.Xml.XmlNode - System.Xml
lXMLNodeList DotNet System.Xml.XmlNodeList - System.Xml
lNamespace Text
lNamespaceURI Text
lServerFilePath Text
lCounter Integer
lXMLDOMDocument := lXMLDOMDocument.XmlDocument();
lXMLDOMDocument.Load(lServerFilePath);
lXMLNameSpaceManager := lXMLNameSpaceManager.XmlNamespaceManager(lXMLDOMDocument.NameTable);
lNamespaceURI := lXMLDOMDocument.DocumentElement.NamespaceURI;
IF lNamespaceURI <> '' THEN BEGIN
lNamespace := 'xf:';
lXMLNameSpaceManager.AddNamespace('xf',lNamespaceURI);
END ELSE
lNamespace := '';
lXMLNodeList := lXMLDOMDocument.GetElementsByTagName('Inhalt');
IF lXMLNodeList.Count() > 0 THEN BEGIN
REPEAT
lNodeListElement := lXMLNodeList.Item(lCounter);
lCurrNode := lNodeListElement.SelectSingleNode('//' + lNamespace + 'Nummer',lXMLNameSpaceManager);
MESSAGE(lCurrNode.InnerText);
lCounter += 1;
UNTIL lCounter >= lXMLNodeList.Count();
END;
18. Mai 2018 10:11
18. Mai 2018 10:23
18. Mai 2018 10:56
lCurrNode := lNodeListElement.SelectSingleNode('//' + lNamespace + 'Nummer',lXMLNameSpaceManager);
lCurrNode := lNodeListElement.SelectSingleNode('./' + lNamespace + 'Nummer',lXMLNameSpaceManager);
18. Mai 2018 11:07