2012-02-29 28 views
16

Czy istnieje prosty sposób powrotu do głównego węzła w danym kontekście. Dokument XML, nad którym pracuję jest bardzo duży i wymagałby użycia ../ .. kilkanaście razy !!XPATH wybierając element główny

Każda pomoc jest bardzo ceniona.

Odpowiedz

8

Zgaduję, że masz tu predykat? i chcesz powrócić, aby spojrzeć na dane znajdujące się wyżej na drzewie dla twojego stanu?

Powinieneś móc rozpocząć z wiodącym /, a następnie pracować na swój sposób z powrotem w dół np

/vehicles/cars/car[@id = /vehicles/featuredVehicle/@id] 
+0

Ahh miałem wrażenie, że utknąłem w kontekście !! dzięki :) – heymega

2

Tak. Użyj "/" jako swojego wyrażenia XPath. To wybierze dla Ciebie element główny. "//" wybiera root i wszystkich jego potomków.

25

Wyrażenie XPath rozpoczynające się od / odnosi się zawsze do elementu głównego. Spójrz here dla składni i niektóre użyteczne próbki odpytuje

Jeśli chcesz wybrać sam element główny, wystarczy użyć /<element name> lub /*

+0

martwy link ...... – maxywb

+0

@maxywb: updated link, dzięki ... –

7

Można użyć oś przodka. Załóżmy, że masz ten dokument:

<a><b><c></c></b></a> 

Następnie a/b/c/przodek :: przynosi kontekst do węzła C, a następnie z powrotem do węzła.

Powiązane problemy