Platzhalter verwenden, um das Attribut in xpath abzustimmen

8

Ich arbeite an einer asp.net-Anwendung, die auf .net 2.0 basiert.

Und ich treffe einige Probleme, wenn ich das XML verarbeite.

Angenommen, ich habe XML wie folgt:

%Vor%

Nun möchte ich die Person auswählen, deren Name yx

enthält

Wie verwende ich xpath um es zu implementieren?

Ich weiß nur, dass dieser Ausdruck der Person entspricht, deren Name genau "yx" ist:

%Vor%

Wie macht man die unscharfe Suche?

BTW, irgendeine Idee, die übereinstimmende Person durch das spezifizierte Attribut wie "Name" zu sortieren?

    
hguser 09.07.2012, 10:19
quelle

2 Antworten

9

Wie @Utkanos vorgeschlagen //person[contains(@name, 'yx')] sollte mit den gewünschten Knoten übereinstimmen.

XPath selbst ist nach meinem Wissen nicht in der Lage und nicht dazu bestimmt, Ordnung in Knoten zu bringen, sondern gibt Knoten-Sets zurück, die "ungeordnete Sammlung von Knoten ohne Duplikate" sind (siehe 1 und Kommentare). In der Version 2.0 könnte es jedoch Änderungen an diesem 2 geben, mit denen ich nicht vertraut bin.

Wenn die Sortierung in einer XSL-Transformation durchgeführt werden soll, können Sie <xsl:sort /> wie folgt verwenden:

%Vor%

Es gibt einige weitere Attribute auf <xsl:sort /> , die hier dokumentiert sind: Ссылка

    
hielsnoppe 09.07.2012, 11:13
quelle
8

Verwenden Sie die Funktion contains() .

%Vor%

Beachten Sie auch, dass Sie @ vor name benötigen, da es ein Attribut ist.

Demo .

    
Utkanos 09.07.2012 10:22
quelle

Tags und Links