Voor een project aan het werk met PHP en Xpath. Xpath redelijk nieuw voor me, maar krijg inmiddels al redelijk leuke dingen te voorschijn. Er is echter 1 ding waar ik niet goed uitkom. Hoop dat hier iemand mij aan de juiste xpath query kan helpen...
Ik heb de volgende (voorbeeld) XML
Wat ik nu terug wil krijgen is het volgende:
alles onder b (inclusief b) waar b1 = waardeb1 en b2 = waardeb2 én waar c1 = waardec1
Diverse xpath queries lukken prima. Ik krijg bijvoorbeeld met de volgende query alles dat voldoet aan condities b1, b2 en c1, maar hierin ontbreekt node b (krijg node b3 en alles daaronder terug, wat logisch is)
Andere queries (zoals hieronder) geven wel b en alles daaronder terug welke voldoen aan b1 en b2, maar niet aan c1 (krijg dus alle c's terug)
Met verschillende van de hierboven genoemde varianten zitten rommelen, maar het heeft nog niet het gewenste resultaat opgeleverd.
Is het uberhaupt te doen wat ik wil in 1 query en zo ja, hoe vertaalt dit zich naar een goede Xpath query?
Ik heb de volgende (voorbeeld) XML
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| <a> <b> <b1>waardeb1</b1> <b2>waardeb2</b2> <b3> <c1>waardec1</c1> <c2>waardec2</c2> <c3> <d1>waarde</d1> </c3> </b3> </b> <b> <b1>waardeb3</b1> <b2>waardeb4</b2> <b3> <c1>waardec3</c1> <c2>waardec4</c2> <c3> <d1>waarde</d1> </c3> </b3> </b> <b> <b1>waardeb5</b1> <b2>waardeb6</b2> <b3> <c1>waardec5</c1> <c2>waardec6</c2> <c3> <d1>waarde</d1> </c3> </b3> </b> <b> <b1>waardeb7</b1> <b2>waardeb8</b2> <b3> <c1>waardec7</c1> <c2>waardec8</c2> <c3> <d1>waarde</d1> </c3> </b3> </b> </a> |
Wat ik nu terug wil krijgen is het volgende:
alles onder b (inclusief b) waar b1 = waardeb1 en b2 = waardeb2 én waar c1 = waardec1
Diverse xpath queries lukken prima. Ik krijg bijvoorbeeld met de volgende query alles dat voldoet aan condities b1, b2 en c1, maar hierin ontbreekt node b (krijg node b3 en alles daaronder terug, wat logisch is)
XML:
1
| b[b1="waardeb1" and b2="waardeb2"]/b3[c1="waardec1"] |
Andere queries (zoals hieronder) geven wel b en alles daaronder terug welke voldoen aan b1 en b2, maar niet aan c1 (krijg dus alle c's terug)
XML:
1
| b[b1="waardeb1" and b2="waardeb2" and b3[c1="waardec1"]] |
Met verschillende van de hierboven genoemde varianten zitten rommelen, maar het heeft nog niet het gewenste resultaat opgeleverd.
Is het uberhaupt te doen wat ik wil in 1 query en zo ja, hoe vertaalt dit zich naar een goede Xpath query?
[ Voor 6% gewijzigd door Verwijderd op 07-02-2010 20:21 ]