die Kombination von XPATH-Achsen (vor-Geschwister & folgenden-Geschwister)
Sagen, ich habe das folgende UL:
<ul>
<li>barry</li>
<li>bob</li>
<li>carl</li>
<li>dave</li>
<li>roger</li>
<li>steve</li>
</ul>
Muss ich packen alle LIs zwischen bob & roger. Ich kann alles packen, nachdem bob mit //ul/li[contains(.,"bob")]/following-sibling::li
, und ich kann alles packen, bevor Sie roger mit //ul/li[contains(.,"roger")]/preceding-sibling::li
. Das problem ist wenn ich versuche die beiden zu verbinden, ich am Ende immer zusätzliche Ergebnisse.
Beispielsweise //ul/li[contains(.,"bob")]/following-sibling::li[contains(.,"roger")]/preceding-sibling::li
wird natürlich vorher noch alles roger, nicht ignoriert, sondern die Gegenstände vor bob.
Gibt es eine Möglichkeit, die Verkettung dieser zwei xpaths zusammen?
Werfen Sie einen Blick auf stackoverflow.com/questions/3354987/...
InformationsquelleAutor MrGlass | 2012-03-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Nicht sicher, was du meinst. Meinst du den Teil wo ich die
li='bob'
oderli='roger'
? Es könnte auch wie folgt vorgenommen:/ul/li[preceding-sibling::li[.='bob'] and following-sibling::li[.='roger']]
. (contains()
könnte auch verwendet werden, in denen li Prädikate)Ja, das ist es, was ich meinte, aber ich war nicht beschweren, ich war zu applaudieren.
Ahh. Ich danke Ihnen sehr. 🙂
Hallo, im mit einer Datei, wobei die Reihenfolge der Geschwister ist nicht garantiert (Sie können in beliebiger Reihenfolge). Ich sehe, es gibt syntax für
preceeding-sibling
undfollowing-sibling
aber da ist die syntax fürin-the-same-node-as-sibling-with-text
?InformationsquelleAutor Daniel Haley