Ik ben momenteel bezig met het verwerken van een XML data bestand middels PHP. Nu loop ik alleen tegen het probleem aan dat SimpleXML gewoon doodleuk de attribuut "xml:lang" overslaat. Nu zal dit vast iets te maken met de XML namespace die moeten worden registreerd. Aleen zie ik hiervoor geen enkele mogelijk.
Ik heb al verschillende dingen geprobeerd zoals het bestand inlezen middels DOMDocument en vervolgens dit doorgeven aan SimpleXML. Alleen dit werkt ook niet.
SimpleXML
Het gaat om het volgende bestand:
Ik heb al verschillende dingen geprobeerd zoals het bestand inlezen middels DOMDocument en vervolgens dit doorgeven aan SimpleXML. Alleen dit werkt ook niet.
SimpleXML
PHP:
1
2
3
4
5
6
| $xml_contents = file_get_contents("data.xml"); $document = simplexml_load_string($xml_contents); foreach ( $document as $item ) { println("Taal van artikel: " . $item->attributes()->lang; println("Taal van artikel: " . $item->attributes()['xml:lang']; } |
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
| $xml_contents = file_get_contents("data.xml"); $dom = new DOMDocument(); $dom->loadXML( $xml_contents ); if (!$dom) { print "Leider ist ein Fehler beim Lesen aufgetreten."; exit; } $document = simplexml_import_dom($dom); foreach ( $document as $item ) { println("Taal van artikel: " . $item->attributes()->lang; println("Taal van artikel: " . $item->attributes()['xml:lang']; } |
Het gaat om het volgende bestand:
code:
1
2
3
4
5
6
7
8
| <articles> <item xml:lang="nl"> <title>Een titel</title> </item> <item xml:lang="de"> <title>Ein Titel</title> </item> </articles> |