Ich denke, dass es nicht an dir oder deinem Programm liegt. Es sieht so aus, als wäre die XPath-Implementation in OmniXML noch nicht vollständig. Sie kann zwar Knoten finden
und auch Attribute
Code:
/daten/name/@testattribut
aber sie kann anscheinend bisher noch nicht mit Filtern umgehen. Und Filter sind eben genau die Bedingungen, die du in eckigen Klammern angibst
Code:
/daten[name="' + id + '"]
Du solltest dir darum im Moment mit einem Work-Around behelfen. Wenn du also nach dem Namen (sprich: der ersten Spalte der List-View) suchst, dann würde das bspw. so aussehen:
Delphi-Quellcode:
node := nil;
daten := XMLDoc.DocumentElement.SelectNodes('daten/name');
for i := 0 to daten.Length - 1 do
if({Tabelle.Selected.Caption =} id = daten.Item[i].Text) then
begin
node := daten.Item[i].GetParentNode;
break;
end;
if(node <> nil) then
begin
ShowMessage(node.XML);
end;