Hallo,
ich kann es nicht...Mein Problem ist der XPath mit xdom_4_1
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TForm1.btnParseXMLFileClick(Sender: TObject); var XMLDomNode : TDomNode; begin if length(XMLFilename) > 4 then begin DomImplementation1:=TDomImplementation.create(self);
XmlToDomParser1:=TXmlToDomParser.create(self);
XmlToDomParser1.DOMImpl:=DomImplementation1;
XMLDomDoc := XmlToDomParser1.ParseFile(XMLFilename, false);
XMLDomNode := XMLDomDoc.EvaluateToNode(xPath);
ShowMessage(XMLDomDoc.FindFirstChildElement.NodeName);
XMLDomNode := XMLDomDoc.DocumentElement.EvaluateToNode(xPath);
.... |
auf der Form habe ich ...
Delphi-Quelltext
1: 2:
| DomImplementation1: TDomImplementation; XmlToDomParser1: TXmlToDomParser; |
egal welchen xPath ich benutze ich bekomme immmer die gleiche Fehlermeldung!
Im Projekt ... ist eine Exception der Klass ENot_Supported_Err mit der Meldung 'Not supported error.' aufgetreten.
In der Unit XdomCore...
Delphi-Quelltext
1: 2: 3: 4:
| procedure TXPathExpression.SetContextNode(const Node: TDomNode); begin if Assigned(Node) then if not (Node.RootDocument is TDomDocumentXPath) then |
raise ENot_Supported_Err.Create('Not supported error.');
Delphi-Quelltext
1: 2:
| FContextNode := Node; end; |
Nu bin ich mit meinem Latein am Ende. Vielleich weiß jemand warum sich der Kram so hartnäckig sträubt?
Ach ja das XML Dok....
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <dok> <kap title="Nettes Dokument"> <pa>Ein Absatz</pa> <pa>Noch ein Absatz</pa> <pa>Und noch ein Absatz</pa> <pa>Nett, oder?</pa> </kap> <kap title="Zweites Kapitel"> <pa>Ein Absatz</pa> </kap> </dok> |
ich kann als xPath 'dok', '//*', '/dok' eingeben nix geht....
Gruß
FrankTheFox