Ich verwende TinyXPath, um ein vorhandenes Testwerkzeug zu verbessern, so dass Daten aus einer XML-Struktur des Kunden abgerufen und verwendet werden können.In TinyXPath Abfragen von Daten nach Elementinhalt indexiert
Die XML sieht wie folgt aus
<Platform>
<LinkData>
<Plan>
<Label>A</Label>
<Settings>
<SomeSetting1>ENABLED</SomeSetting1>
<SomeSetting2>ENABLED</SomeSetting2>
</Settings>
</Plan>
<Plan>
<Label>B</Label>
<Settings>
<SomeSetting1>ENABLED</SomeSetting1>
<SomeSetting2>DISABLED</SomeSetting2>
</Settings>
</Plan>
</LinkData>
</Platform>
die obige Struktur gegeben, die ich keine Kontrolle über haben, ich muss in der Lage sein, XPath-Ausdrücke für TinyXPath zu konstruieren. Einfach ausgedrückt muss TinyXPath die Werte in den SomeSetting1/2-Feldern zurückgeben, die angegeben werden, wenn die korrekten untergeordneten Label-Werte übereinstimmen (auf True auflösen), sodass die Test-App sie verwenden kann. .
Ich habe versucht, die folgenden aber eine mit der Art und Weise kämpfen indiziert ist ein untergeordnetes Element mit (normalerweise würde ich die Verwendung eines Attributs erwarten Hier ist mein Versuch, die zu keinem Ergebnis geführt (zB aktiviert/deaktiviert) zurückgibt: -
Platform/LinkData/Plan[child::Label='A']/Settings/SomeSetting1/text()
Platform/LinkData/Plan[child::Label='A']/Settings/SomeSetting2/text()
Platform/LinkData/Plan[child::Label='B']/Settings/SomeSetting1/text()
Platform/LinkData/Plan[child::Label='B']/Settings/SomeSetting2/text()
Jede weitere Hilfe von TinyXPath Gurus geschätzt würde viel - dank
// Einstellungen/Kind :: Node() (fügen Sie/Text() an das Ende, wenn Sie nur den Enabled/Disabled Text anstelle von Knoten wollen) Oder versuchen Sie nur Etiketten A und B zu bekommen? – JWiley
Der Test muss die Textwerte für SomeSetting1 & 2 zunächst für den Plan 'Labeled' A und dann für den Plan 'Labeled' zurückgeben. Danke. – mactwixs