![]() |
OmniXML, XPath und Enumeration
Moin!
Ich habe folgendes (Beispiel-) XML:
Code:
Jetzt würde ich gerne mit XPath arbeiten. Bei MSXML hätte folgender XPath funktioniert:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <Items xmlns="http://www.anywhere.com/any-api/"> <Set> <Item> <PropA>regtehtghstdghswgeqg</PropA> <PropB>trgtegwegreqgreqgqasfg</PropB> </Item> <Item> <PropA>fgsfdgagadfgsrafg</PropA> <PropB>ggeqrbhtjhreznj</PropB> </Item> <Item> <PropA>afgsfgsagasrfgrafg</PropA> <PropB>tghrezjhernhwrbhsfdh</PropB> </Item> <Item> <PropA>sgbsdsbdbsdbg</PropA> <PropB>regwrekjgweltgn</PropB> </Item> <Item> <PropA>thgtrghadgsdgsdfbg</PropA> <PropB>dgbhtgghghwdsgbsgdb</PropB> </Item> <Item> <PropA>teghzjrsfbstegsgbfg</PropA> <PropB>thwrtghsdgsdbgsdfgsd</PropB> </Item> <Item> <PropA>trhdfbgdbhwtghsdfbg</PropA> <PropB>bnfgnjmkkrgjm</PropB> </Item> </Set> </Items> </soap:Body> </soap:Envelope>
Code:
Allerdings kommt hier OmniXML zum Einsatz. Hier kann ich zwar schön mit
soap:Body/Items/Set/[0]/PropA
Code:
abkürzen, allerdings meckert der Parser dann bei
//Set/
Code:
"Invalid predicate [0]".
//Set/[0]/PropA
Grüße Cody EDIT: Hat sich erledigt. Kaum war die Frage geschrieben, bin ich dahinter gekommen dass der wesentliche Unterschied ist, dass MSXML bei solchen Enumerationen bei 0 beginnt und OmniXML bei 1. |
AW: OmniXML, XPath und Enumeration
Mit dem Xpath Tester
![]() Edit: oh schön ;) |
AW: OmniXML, XPath und Enumeration
Ja, kleiner Fehler, große Wirkung. Schade dass man wegen solcher Inkonsistenzen immer wieder Zeit verplempert. Aber schön dass es geht. Ich muss sagen, OmniXML hat trotz leichter Performance-Nachteile im Vergleich zu MSXML einige Vorzüge, insbesondere bei Namespaces und Prefixen. Danke dir trotzdem für die schnelle Reaktion.
|
AW: OmniXML, XPath und Enumeration
Item[0] statt nur [0] ?
[edit] Dann ist aber die Fehlermeldung bissl unglücklich, denn [0] ist nicht komplett "ungültig", sondern nur "außerhalb des gültigen Bereichs" (invalid index). |
AW: OmniXML, XPath und Enumeration
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz