Wenn du genau weißt welchen Knoten du haben willst ist "XPath" eigentlich eine super Sache.
Der Pfad des Knotens wäre in deinem Fall
Code:
/stock/articlelist/article/stock
und du kannst einfach sagen:
Delphi-Quellcode:
stockNode := TXpathHelper.SelectNode(xmlDoc.DocumentElement, '/stock/articlelist/article/stock');
Write('stock is ');
if not Assigned(stockNode) then
WriteLn('unknown')
else
WriteLn(stockNode.Text);
Ja, das "TXPathHelper" ist wohl eine "externe Lib". Aber die Handvoll Zeilen geht eigentlich:
http://www.delphipraxis.net/177650-x...ml#post1236534
Hier nochmal der Vollständigkeit halber:
Delphi-Quellcode:
procedure justXmlThings();
const
myContent =
'<stock>' + sLineBreak +
'<articlelist>' + sLineBreak +
'<article>' + sLineBreak +
'<articleid>ArtNr</articleid>' + sLineBreak +
'<stock>MENGE</stock>' + sLineBreak +
'</article>' + sLineBreak +
'</articlelist>' + sLineBreak +
'</stock>';
var
xmlDoc: IXMLDocument;
stockNode: IXMLNode;
begin
xmlDoc := LoadXMLData(myContent);
stockNode := TXpathHelper.SelectNode(xmlDoc.DocumentElement, '/stock/articlelist/article/stock');
Write('stock is ');
if not Assigned(stockNode) then
WriteLn('unknown')
else
WriteLn(stockNode.Text);
end;