Een vraagstuk waar ik niet helemaal uitkom... Ik heb hieronder een xml file geplaats waaruit ik mijn navigatie kan opbouwen. Daar gebruik ik XPath voor om nodes te selecteren en dat gaat prima.
Nu wilde ik een extra functionaliteit aan mijn object toevoegen die met de XML file om kan gaan. Ik wilde een functie die netjes alle parent's tot de root teruggeeft als ik het contentid geef. Stel dat ik contentid 11 geef, dan wil ik uiteindelijk contentid 8 en 4 ook terug krijgen. Toen kwam ik uit op het gebruik van Axes wat er veel belovend uit zag, alleen kom ik er gewoon niet uit...
Het selecteren van //nodes/node[@contentid="11"] gaat prima, maar als ik parent::node[attribute::contentid="11"] probeer (en vele andere variante) probeer gaat dat niet goed en krijg ik helemaal niks terug. Wat doe ik helemaal fout of zie ik over het hoofd?
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <context> <nodes> <node title="a" contentid="1"></nodes> <node title="b" contentid="2"></nodes> <node title="c" contentid="3"></nodes> <node title="d" contentid="4"> <nodes> <node title="d1" contentid="6"></node> <node title="d2" contentid="7"></node> <node title="d3" contentid="8"> <nodes> <node title="d31" contentid="10"></node> <node title="d32" contentid="11"></node> <node title="d33" contentid="12"></node> </nodes> </node> <node title="d4" contentid="9"></node> </nodes> </nodes> <node title="e" contentid="5"></nodes> </nodes> </context> |
Nu wilde ik een extra functionaliteit aan mijn object toevoegen die met de XML file om kan gaan. Ik wilde een functie die netjes alle parent's tot de root teruggeeft als ik het contentid geef. Stel dat ik contentid 11 geef, dan wil ik uiteindelijk contentid 8 en 4 ook terug krijgen. Toen kwam ik uit op het gebruik van Axes wat er veel belovend uit zag, alleen kom ik er gewoon niet uit...
Het selecteren van //nodes/node[@contentid="11"] gaat prima, maar als ik parent::node[attribute::contentid="11"] probeer (en vele andere variante) probeer gaat dat niet goed en krijg ik helemaal niks terug. Wat doe ik helemaal fout of zie ik over het hoofd?