/ / XPath, um einen Knoten mit einem Attributwert und einem untergeordneten Knotenwert - xpath auszuwählen

XPath zum Auswählen eines Knotens mit einem Attributwert und einem Kindknotenwert - xpath

Hintergrund - Anwendung von Visual Studio 2010, C #, .NET Framework 4.0

Ich habe eine Website, die XML empfängt und auf dieser XML-Basis basiert. Ich muss zusätzliche Verarbeitung auslösen.

Ich erhalte folgendes XML (ich habe es auf ein minimales XML gekürzt)

<Event xmlns="http://www.mysite.com"  et="a">
<audit>
<cb>foo</cb>
</audit>
</Event>

Ich habe den folgenden XPath verwendet, um zu sehen, ob das Dokument für die zusätzliche Verarbeitung übereinstimmt. (Überprüfen, ob ich "Event" -Knoten zurückbekomme).

        //std:Event[@et="a"]

Wo ich gekämpft habe, ist, dass ich alle Event-Knoten finden muss, bei denen das et-Attribut "a" ist und der audit / cb-Knoten den Wert "foo" hatte.

Hier kämpfe ich ... Kann mir jemand helfen?

Antworten:

3 für die Antwort № 1

Ich bin nicht sicher über C # und .NET, aber in reiner XPath-Syntax glaube ich:

//Event[@et="a"]/audit[cb="foo"]/..

Überprüfen Sie die Xpath-Syntax unter: http://www.w3schools.com/XPath/xpath_syntax.asp


0 für die Antwort № 2

Kein .NET-Benutzer selbst, aber probieren Sie Folgendes:

//Event[@et="a" and audit/cb = "foo"]