Hallo,
Dit is een beetje een 'verbastering' van dit topic: \[OBJ-C] [TouchXML] Maps API xPath geeft nooit resultaat waar ik vast kwam te zitten omdat ik geen resultaat terug kreeg van de google maps api (ik kreeg wel resultaat maar ik kon via xPath de nodes niet selecteren).
Omdat ik het probleem heb weten terug te dringen tot een 'algemeen' probleem (niet zo zeer een obj-c probleem) heb ik dit nieuwe topic gestart, zodat ook mensen die geen ervaring hebben met obj-c kunnen helpen.
Het punt was dus dat ik via xpath in sommige xml documenten wel wat kon selecteren, en soms niet. Nu had ik beide documenten naast elkaar gelegd, en in het document waar het niet werkte kwam een aantal keer het 'xmlns' attribuut voor, hierop gegooglde en dit bleken xml namespaces te zijn.
Ik toen verder gaan kijken hoe je met xpath items in een namespace kon selecteren maar ik kon daar niet uitkomen.
Nu is mijn vraag, in bijvoorbeeld dit document:
Zitten geen namespaces en kan ik bijvoorbeeld de eerste name selecteren door bijvoorbeeld
als xpath te gebruiken en deze geeft dan de coordinaten terug
Maar nu er namespaces in zitten (zie dit document) hoe kan ik dan de betreffende items selecteren? (zelfde xpath query geeft geen resultaat)
(in regel 2 en 11 bevinden zich de xmlns tags in dit geval, dat is het enige verschil met beide documenten)
Dit is een beetje een 'verbastering' van dit topic: \[OBJ-C] [TouchXML] Maps API xPath geeft nooit resultaat waar ik vast kwam te zitten omdat ik geen resultaat terug kreeg van de google maps api (ik kreeg wel resultaat maar ik kon via xPath de nodes niet selecteren).
Omdat ik het probleem heb weten terug te dringen tot een 'algemeen' probleem (niet zo zeer een obj-c probleem) heb ik dit nieuwe topic gestart, zodat ook mensen die geen ervaring hebben met obj-c kunnen helpen.
Het punt was dus dat ik via xpath in sommige xml documenten wel wat kon selecteren, en soms niet. Nu had ik beide documenten naast elkaar gelegd, en in het document waar het niet werkte kwam een aantal keer het 'xmlns' attribuut voor, hierop gegooglde en dit bleken xml namespaces te zijn.
Ik toen verder gaan kijken hoe je met xpath items in een namespace kon selecteren maar ik kon daar niet uitkomen.
Nu is mijn vraag, in bijvoorbeeld dit document:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <?xml version="1.0" encoding="UTF-8" ?> <kml><Response> <name>Dokkum</name> <Status> <code>200</code> <request>geocode</request> </Status> <Placemark id="p1"> <address>Dokkum, The Netherlands</address> <AddressDetails Accuracy="4"><Country><CountryNameCode>NL</CountryNameCode><CountryName>The Netherlands</CountryName><AdministrativeArea><AdministrativeAreaName>Friesland</AdministrativeAreaName><Locality><LocalityName>Ee</LocalityName><DependentLocality><DependentLocalityName>Dokkum</DependentLocalityName></DependentLocality></Locality></AdministrativeArea></Country></AddressDetails> <ExtendedData> <LatLonBox north="53.3385487" south="53.3118913" east="6.0316879" west="5.9676583" /> </ExtendedData> <Point><coordinates>5.9996731,53.3252221,0</coordinates></Point> </Placemark> </Response></kml> |
Zitten geen namespaces en kan ik bijvoorbeeld de eerste name selecteren door bijvoorbeeld
code:
1
| //coordinates |
als xpath te gebruiken en deze geeft dan de coordinaten terug
Maar nu er namespaces in zitten (zie dit document) hoe kan ik dan de betreffende items selecteren? (zelfde xpath query geeft geen resultaat)
(in regel 2 en 11 bevinden zich de xmlns tags in dit geval, dat is het enige verschil met beide documenten)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <?xml version="1.0" encoding="UTF-8" ?> <kml xmlns="http://earth.google.com/kml/2.0"><Response> <name>Dokkum</name> <Status> <code>200</code> <request>geocode</request> </Status> <Placemark id="p1"> <address>Dokkum, The Netherlands</address> <AddressDetails Accuracy="4" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>NL</CountryNameCode><CountryName>The Netherlands</CountryName><AdministrativeArea><AdministrativeAreaName>Friesland</AdministrativeAreaName><Locality><LocalityName>Ee</LocalityName><DependentLocality><DependentLocalityName>Dokkum</DependentLocalityName></DependentLocality></Locality></AdministrativeArea></Country></AddressDetails> <ExtendedData> <LatLonBox north="53.3385487" south="53.3118913" east="6.0316879" west="5.9676583" /> </ExtendedData> <Point><coordinates>5.9996731,53.3252221,0</coordinates></Point> </Placemark> </Response></kml> |