Bonjour,
Y-a-t'il un moyen de changer le protocole xml depuis l'objet DomDocument ?
Si impossible, y a t-il un autre objet PHP le permettant, sachant que je reçois un flux XML sous forme de chaine, je dois donc créer un objet DOM.
Merci
Bonjour,
Y-a-t'il un moyen de changer le protocole xml depuis l'objet DomDocument ?
Si impossible, y a t-il un autre objet PHP le permettant, sachant que je reçois un flux XML sous forme de chaine, je dois donc créer un objet DOM.
Merci
Protocole ? Comment ça ?
Mais on peut parfaitement créer un objet DomDocument à partir d'une chaîne de caractère via la méthode loadXML.
prologue prologue.... pas protocole... qu'est-ce-que j'raconte...
Je ne créé par d'objet XML car inutile jusque maintenant.
La question est de savoir si justement on peut changer le pro...logue une fois l'objet créé depuis la chaine ?
L'intérêt étant pour moi de changer l'encodage que le client a spécifié dans ce prologue.
libxml2, à la base des extensions XML de type DOM, ramène tout à de l'UTF-8. Mais c'est visiblement possible en modifiant la propriété encoding de l'objet DomDocument avant de le dumper (méthodes save*).
Exemple (ISO-8859-1 => UTF-32) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php header("Content-type: text/plain; charset=UTF-32"); $xml = <<< EOX <?xml version="1.0" encoding="ISO-8859-1"?> <utilisateurs> <utilisateur id="rené" /> </utilisateurs> EOX; $dom = new DomDocument; $dom->loadXML($xml); $dom->encoding = 'UTF-32'; echo $dom->saveXML();
Partager