Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: idHTTP und XML

  Alt 26. Okt 2015, 15:23
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;
  Mit Zitat antworten Zitat