[DOM]Modifier un attribut
Bonjour,
J'ai ce fichier xml ci dessous et j'aimerais pourvoir modifier l'attribut de ma balise album donc changer la valeur de nom="name" par nom="Best" par exemple.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <music>
<album nom="The album" pochette="Image.jpg">
<titre nom="name">
<description>meilleur album</description>
</titre >
</album>
<album nom="Moi" pochette="Image2.jpg">
<titre nom="aaaa">
<description>Le plus mauvais</description>
</titre >
<titre nom="bbbbbb">
<description>Coooll</description>
</titre>
</album>
</music> |
J'ai ce bout de code qui me permet de changer juste un noeud mais j'arrive pas l'adapter pour mon probléme.
Code:
1 2 3 4 5 6 7 8 9 10 11
|
$doc = new DomDocument;
$doc->appendChild($doc->createElement('description',$description));
$dom = new DomDocument();
$dom->load(fichier.xml);
$xpath = new DOMXpath($dom);
$nodelist = $xpath->query('//album/photo[@titre ="bbbbbb"]');
$oldnode = $nodelist->item(0)->getElementsByTagName('description')->item(0);
$newnode = $dom->importNode($doc->documentElement, true);
$oldnode->parentNode->replaceChild($newnode, $oldnode);
$dom->save(fichier.xml); |
Merci beaucoup de votre aide.