Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: XML-Datenbindungs-Experte -> Knoten-ID

  Alt 8. Aug 2010, 19:49
Hmm,

ich nutze IXMLNode, damit geht wohl kein XPath - oder?

folgende XML-Datei:
XML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<Panels>
   <abc>123</abc>
   <Panel id="P1">
      <caption>"1"</caption>
      <left>0</left>
      <top>0</top>
   </Panel>
   <Panel id="P2">
      <caption>"2"</caption>
      <left>30</left>
      <top>30</top></Panel>
   <Panel id="P3">
      <caption>"3"</caption>
      <left>60</left>
      <top>60</top>
   </Panel>
</Panels>
und folgende Anweisungen:
Delphi-Quellcode:
      Memo1.Lines.Add(XMLDocument1.DocumentElement['abc']); // -> 123
      Memo1.Lines.Add(xml['abc']); // -> 123
      Memo1.Lines.Add(xml['*panel[@id="P1"]/caption']); // -> Variante des Typs (NULL) konnte nicht in Typ (OleStr) konvertiert werden
      Memo1.Lines.Add(xml['panel/caption']); // -> Variante des Typs (NULL) konnte nicht in Typ (OleStr) konvertiert werden
      Memo1.Lines.Add(xml['panel']); // -> Variante des Typs (NULL) konnte nicht in Typ (OleStr) konvertiert werden
XMLDocument1.DocumentElement entspricht bei mir der Variablen "xml".
Die Standardeigenschaft von xml (=IXMLNode) ist ChildValues.
Auf den direkten Eintrag "abc" kann ich zugreifen, nicht aber auf die Panel-Daten.

Also muss ich mich wohl entscheiden, ob ich durch die Schnittstellenobjekte iteriere oder auf den Experten verzichte und nur über eine XPath-fähige Komponente auf die XML-Datei zugreife...
Richtig?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von mkinzler ( 8. Aug 2010 um 20:15 Uhr) Grund: Delphi-Tag durch XML-Tag ersetzt
  Mit Zitat antworten Zitat