Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/11/2012, 13h24   #1
aurelie20
Invité de passage
 
Enseignant Chercheur
Inscription : novembre 2012
Messages : 2
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : novembre 2012
Messages : 2
Points : 1
Points : 1
Par défaut [DOM] création de fichier XML format spécifique avec PHP

Bonjour,

Question de débutant
Essayant d’homogénéiser quelque petit logiciel, je voudrais produire le même format xml qu’une ancienne application utilisé au laboratoire.

Voila sa structure :
Code :
1
2
3
4
5
6
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE analyse  SYSTEM "analyse_1_13.dtd">
<analyse version="2.0" >
	<num></num>
</analyse>
Actuellement avec ce que j’ai écris j’arrive à produire ceci :

Code :
1
2
3
4
5
6
 
<?xml version="1.0" encoding="UTF-8"?>
 
<analyse >
	<num></num>
</analyse>
Il manque l’ajout du DOCTYPE et au niveau de la racine l’ajout du version="2.0". Ces deux éléments étant obligatoire dans l’utilisation qui suit.
J’ai lu les différents cours pour faire ceci et je remercie les personnes qui les ont écris. Mais je n’ai pas trouvé la solution.

Voila mon php
Code :
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
 
$xml = '<?xml version="1.0" encoding="UTF-8"?>';
 
// Instance de la class DomDocument
$doc = new DOMDocument();
 
// Definition de la version et l'encodage
$doc->version = '1.0';
$doc->encoding = "utf-8";
 
 
// Ajout la balise 'note' a la racine
$note_elt = $doc->createElement('analyse');
$doc->appendChild($note_elt);
 
// on recupere le tableau pour mettre dans la balise en boucle
foreach ($tableau_code_barre as $values)
{
// Creation des elements
$numero_gestion_elt   = $doc->createElement('num', $values);
 
// Specifier que les elements numero_gestion sont dans note
$note_elt->appendChild($numero_gestion_elt);
}
 
// format
$doc->formatOutput = true;
 
// Sauver le document XML sous le nom analyse.xml
$doc->save('archive/analyse_'.$date3.'.xml');
 
// fini
Avez-vous une solution, pour ces deux problèmes?

Je vous remercie de vos réponses
aurelie20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 14h04   #2
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 593
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 593
Points : 6 074
Points : 6 074
Envoyer un message via Skype™ à rawsrc
Salut,

pourquoi ne pas démarrer ton DOMDocument correctement initialisé ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
    $xml =
<<<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE analyse SYSTEM "analyse_1_13.dtd">
<analyse version="2.0">
</analyse>
XML;
 
    $doc      = DOMDocument::loadXML($xml);
    $note_elt = $doc->documentElement;  // analyse
 
?>
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2012, 14h43   #3
aurelie20
Invité de passage
 
Enseignant Chercheur
Inscription : novembre 2012
Messages : 2
Détails du profil
Informations professionnelles :
Activité : Enseignant Chercheur

Informations forums :
Inscription : novembre 2012
Messages : 2
Points : 1
Points : 1
Salut,

et merci; Car j'avais pas compris que l'on pouvait démarrer un DOMDocument comme ceci.
aurelie20 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h07.


 
 
 
 
Partenaires

Hébergement Web