xpath um Elemente auszuwählen, mit dem letzten Kind Wert
Dies ist meine xml-Datei
<profiles>
<profile id='8404'>
<name>john</name>
<name>mark</name>
</profile>
<profile id='8405'>
<name>john</name>
</profile>
</profiles>
und ich möchten, wählen Sie profile, wo die letzten "name" Kind value= john, sollte das Ergebnis enthält das Profil mit der id=8405 nur
was es die xpath, kann dies bewerten?
hier ist mein Versuch:
var filterdFile = profilefileXML.XPathSelectElements("/profiles/profile[name[last()]='john']");
aber es macht keinen Sinn.
Aktualisiert:
Mein Weg ist richtig, es war nur ein syntax-Fehler drin. Vielen Dank an alle
- Ihre xpath funktionieren sollte, d.h. Rückkehr der Profil-element mit
id=8405
. Wenn Sie nur die id des Profils, dann müssen Sie/@id
, d.h./profiles/profile[name[last()]='john']/@id
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie anwenden mehrere Indizierung Operationen mit den nachfolgenden
[...]
:Wird das Ergebnis der letzten
profile
element, die das element enthältname
mit einem Wert vonjohn
.Wenn Sie auf der anderen Seite zurückkehren möchten alle Elemente die letzten
name
element hat einen Wert vonjohn
Ihre XPath-sollte die Arbeit bereits:name = 'john'
. Z. B. Fügen Sie das folgende Profil am Ende der Liste<profile id='8406'> <name>john</name> <name>bob</name>
Können Sie auch versuchen, LINQ
Haben Sie Zugriff auf die xml-Daten mit einer foreach -