Bonjour,
Savez-vous si il est possible de récupérer via simplexml ou autre fonction php, l'encodage d'un fichier XML ?
Merci beaucoup
Bonjour,
Savez-vous si il est possible de récupérer via simplexml ou autre fonction php, l'encodage d'un fichier XML ?
Merci beaucoup
Oui avec DOM : http://fr.php.net/manual/fr/class.do...props.encoding
Je ne crois pas que ce soit possible avec SimpleXML.
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
J'essaye de charger le fichier XML via dom, mais a priori je ne récupère rien, est-ce normal ?
Fichier XML :
Mon code PHP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> <title>test</title> <description>test xml</description> <language>fr</language> <link></link> <atom:link href="" rel="self" type="application/rss+xml" /> <item> <title>titre 1</title> <link>http://www.lien1.html</link> <guid>http://www.lien1.html</guid> <description> description 1 </description> <category>test1</category> <comments>test1</comments> <dc:date>2011-05-06T10:00:53+00:00</dc:date> <dc:creator>xxx</dc:creator> </item> <item> <title>titre 2</title> <link>http://www.lien2.html</link> <guid>http://www.lien2.html</guid> <description> description 2 </description> <category>test2</category> <comments>test2</comments> <dc:date>2011-04-06T10:00:53+00:00</dc:date> <dc:creator>xxx</dc:creator> </item> </channel> </rss>
Cela me renvoie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $dom = new DOMDocument; $dom->load('test.xml'); echo "<pre>"; print_r($dom); echo "</pre>";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DOMDocument Object ( )
fait plutôt
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo htmlspecialchars($dom->saveXML(), null, 'utf-8');
En effet ça marche très bien, j'avais pas compris l'astuce. Du coup je suis pas sur l'aller dans la bonne direction.
Y a t'il un moyen de récupérer à partir du dom, l'encodage d'un fichier xml, exemple j'ai pour en tête :
Est'il possible de récupérer "UTF-8" ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?xml version="1.0" encoding="UTF-8"?>
http://codepad.viper-7.com/sxkCFl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
47
48 <?php $rss = '<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"> <channel> <title>test</title> <description>test xml</description> <language>fr</language> <link></link> <atom:link href="" rel="self" type="application/rss+xml" /> <item> <title>titre 1</title> <link>http://www.lien1.html</link> <guid>http://www.lien1.html</guid> <description> description 1 </description> <category>test1</category> <comments>test1</comments> <dc:date>2011-05-06T10:00:53+00:00</dc:date> <dc:creator>xxx</dc:creator> </item> <item> <title>titre 2</title> <link>http://www.lien2.html</link> <guid>http://www.lien2.html</guid> <description> description 2 </description> <category>test2</category> <comments>test2</comments> <dc:date>2011-04-06T10:00:53+00:00</dc:date> <dc:creator>xxx</dc:creator> </item> </channel> </rss>'; $dom = new DOMDocument; $dom->loadXML($rss); echo $dom->encoding;
Je suis fervent utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web de développeur web dans le Val d'Oise mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, une extension de navigateur pour envoyer l'URL de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc…
En effet, c'est vraiment simple, je me rend compte que j'ai du mal à interprété les définition officiel des docs en php
Resultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $dom = new DOMDocument; $dom->load('test.xml'); echo $dom->actualEncoding;
Code : Sélectionner tout - Visualiser dans une fenêtre à part UTF-8
Merci bcp pour votre aide, je clos le sujet
utilise encoding tout court comme le dit la doc, (et Sèb)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager