Bonjour,

Voilà, je débute en termes de manipulations de fichier xml , et je rencontre quelques difficultés pour insérer (/ modifier) des éléments dans un noeud.

J'ai le fichier xml suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<principal>
<item name="adventure">        
        <item name="game1" pic="game1.jpg" />
        <item name="game2" pic="game2.jpg" />
</item>
(...)
<item name="shoot 'em up">        
        <item name="game126" pic="game1ya.jpg" />
        <item name="game127" pic="game19x.jpg" />
</item>
</principal>
et le code php pour l'insertion:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
$dom = new DomDocument;
$dom->load("base.xml");
$nom1= utf8_decode(htmlspecialchars($_POST['nom1']));
$pic= '/'.utf8_decode(htmlspecialchars($_POST['pic']));
$xpath = new DomXPath($dom);
$root = $xpath->query("//item[@name='".$nom1."']"); 
$newItem = $dom->createElement("item");
$newItem->setAttribute("name", $nom1);
$newItem->setAttribute("pic", $pic);
$root ->item(0)->appendChild($nouveauItem);
$dom->save('base.xml');
Je voudrais savoir si la méthode employée est bonne ( y a des erreurs dans le script que je n'arrive pas à corriger, ça me rend dingue ) . (Cependant l'insertion de nodes est ok.)
Ensuite l'apostrophe semble poser problème pour la requête "Xpath->query", comment passer outre?

Merci de bien vouloir m'aider