1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <?php
define('FICHIER_XML', 'angel.xml');
/**
* - $_POST['name'] : la valeur de l'attribut name de l'élément item à créer
* - $_POST['pic'] : la valeur de l'attribut pic de l'élément item à créer
* - $_POST['item'] : la valeur de l'attribut name d'un élément item existant afin qu'il soit utilisé comme parent du nouvel élément
**/
if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) {
function stripslashes_array($array) {
return is_array($array) ? array_map('stripslashes_array', $array) : stripslashes($array);
}
$_POST = stripslashes_array($_POST);
}
$dom = DomDocument::load(FICHIER_XML);
$nouvItem = $dom->createElement('item');
$nouvItem->setAttribute('name', utf8_encode($_POST['name']));
$nouvItem->setAttribute('pic', utf8_encode($_POST['pic']));
$xpath = new DomXPath($dom);
$items = $xpath->query(sprintf('/principal/item[@name="%s"]', utf8_encode($_POST['item'])));
if ($items) {
$items->item(0)->appendChild($nouvItem);
} else {
die('Erreur XPath');
}
// $dom->save(FICHIER_XML);
echo '<pre>' . htmlspecialchars($dom->saveXML()) . '</pre>'; |
Partager