Bonjour
J'ai unDOMDocument avec de nombreux element
Je voudrais extraire certain element dans un nouveau DOMDocument
getElementsByTagName() me retourne une nodeList
N'y a t'il pas un moyen direct pour effectuer cela
Merci
Bonjour
J'ai unDOMDocument avec de nombreux element
Je voudrais extraire certain element dans un nouveau DOMDocument
getElementsByTagName() me retourne une nodeList
N'y a t'il pas un moyen direct pour effectuer cela
Merci
Une expression XPath ? Elle retournerait elle aussi un objet DOMNodeList mais celui-ci n'aurait pas besoin d'être trié.
Le problème est de rconvertir le nodelist en domDocument
J'ai essayé une boucle foreach mais sans résultat
Joël
Ne pouvez-vous pas ajouter les différents noeuds obtenus à un objet DomDocument (addChild et compagnie) ? Vous avez peut être un code à montrer ?
Mon probleme est la, je n'ai pas de fonction qui s'appliquentà un domList
Je souhaite extraire que les parametres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12<?xml version="1.0" encoding="ISO-8859-1" ?> <report> <parameters> <param1>1</param1> <param2>2</param2> <param3>3</param3> </parameters> <data> AAA </data> </report>
Mais le document $dom est désepérement vide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php $document = new DOMDocument(); $document->load('xmlfilename'); $nodeList = $document->getElementsByTagName('parameters'); $dom = new DOMDocument; $dom->importNode($nodelist); $xml = $dom->saveXML(); echo $xml; ?>
Merci
Il faudrait ajouter le noeud importé au document ensuite, par exemple :
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 <?php $original = DOMDocument::load('flybick.xml'); $parametres = $original->getElementsByTagName('parameters'); // On crée une nouveau document $resultat = new DOMDocument; // On crée la racine $racine = $resultat->createElement('report'); $resultat->appendChild($racine); foreach ($parametres as $p) { $racine->appendChild($resultat->importNode($p, TRUE)); } // Pour test, visualisation du résultat header('Content-type: text/plain'); $resultat->formatOutput = TRUE; echo $resultat->saveXML();
Partager