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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.