Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Attribute in XML suchen und ausgeben...Wie?

  Alt 13. Feb 2008, 17:28
Also, man muss zuerst mal aus dem Fragment ein komplettes XML Dokument machen.
Dann kann man mit XPath die Attribute ganz bequem auslesen:

Ich weiss jetzt nicht, welcher Parser verwendet wird (und kenne eigentlich nur MSXML) aber hier
mein Vorschlag:
Delphi-Quellcode:
function GetXmlAttribute(XMLContent, Attribut : String) : String;
var
xmlDoc : XmlDocument;
root, child : XmlElement;
node : XmlNode;
i, j : Integer;
found : Boolean;
begin
  xmlDoc = := CoDOMDocument40.Create;
  XMLContent := '<?xml version="1.0" encoding="iso-8859-1" standalone="yes">'+ '<root>' +
  XMLContent+ '</MatchStats></root>';

  xmlDoc.LoadXML(XMLContent);
  
  // Achtung: hier muss unbedingt eine Fehlerprüfung erfolgen
  // if xmlDoc.parseError.ErrCode <> 0 then (* Fehler *)


  root := xmlDoc.DocumentElement; // Wurzel Element holen

  // wir verwenden einfach XPATH, um das Attribut auszulesen
  node := root.selectSingleNode('//MatchStats/@'+Attribut);
  if Assigned(node) then
     result := node.Value
  else
     result := '';
end;
Nachtrag: der XPath-Ausdruck war noch falsch. Danke an marabu.
Andreas
  Mit Zitat antworten Zitat