Bonjour,
A partir de 2 fichier, je voudrais les "concatener" en ajoutant le contenu de mon 2eme fichier dans le premier (a un endroit bien spécifique).
Un exemple plus parlant...
1er fichier :
2ème fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10<?xml version="1.0" encoding="utf-8"?> <article> ... <liens_objets_metiers> <lien_objet_metier type="" nature="" ref="/tests/fiches/ficheMediaExemple.xml"> <position/> </lien_objet_metier> </liens_objets_metiers> ... </article>
... et ce que je voudrais au final :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4<?xml version="1.0" encoding="UTF-8"?> <fiche_media> ... </fiche_media>
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<?xml version="1.0" encoding="utf-8"?> <article> ... <liens_objets_metiers> <lien_objet_metier type="" nature="" ref="/tests/fiches/ficheMediaExemple.xml"> <position/> <fiche_media> ... </fiche_media> </lien_objet_metier> </liens_objets_metiers> ... </article>
... et puis le morceau de code que j'ai écris, mais qui ne fonctionne pas
... l'erreur :
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 $xml_article_filename = 'ArticleExemple.xml'; $dom_article = new DomDocument(); $dom_article->load($xml_article_filename); $article_lien_objet_metier_nodes = $dom_article->getElementsByTagName('lien_objet_metier'); foreach($article_lien_objet_metier_nodes as $article_lien_objet_metier_node) { $xml_fiche_media_filename = $article_lien_objet_metier_node->attributes->getNamedItem('ref')->value; $xml_fiche_media_filename = substr(strrchr($xml_fiche_media_filename, '/'), 1); $dom_fiche = new DomDocument(); $dom_fiche->load($xml_fiche_media_filename); $fiche_media_nodes = $dom_fiche->getElementsByTagName('fiche_media'); foreach($fiche_media_nodes as $fiche_media_node) { $article_lien_objet_metier_node->appendChild($dom_fiche->documentElement); // $fiche_media_node); } } $dom_article->save('test.xml');
Code : Sélectionner tout - Visualiser dans une fenêtre à part Fatal error: Uncaught exception 'DOMException' with message 'Wrong Document Error' in C:\wamp\www\test\concat_artiche_fiche.php:21 Stack trace: #0 C:\wamp\www\test\concat_artiche_fiche.php(21): DOMNode->appendChild(Object(DOMElement)) #1 {main} thrown in C:\wamp\www\test\concat_artiche_fiche.php on line 21
Partager