Fonction SimpleXMLElement ::registerXPathNamespace() - il s`agit d`une fonction intégrée à PHP qui est utilisée pour créer un contexte d`espace de noms pour qu`une requête XPath soit ensuite exécutée dans un objet SimpleXML.
Syntaxe : bool SimpleXMLElement::registerXPathNamespace ($prefix, $namespace)
Paramètre :Cette fonction prend deux paramètres comme ci-dessus et décrits ci-dessous :
- < b>$prefix :Paramètre obligatoire. Il est utilisé dans la requête XPath pour l`espace de noms spécifié par $namespace.
- $namespace : obligatoire. Il définit l`espace de noms pour la requête XPath.
Valeur de retour :Renvoie Vrai en cas de succès ou Faux en cas d`échec.
Remarque.Cette fonction est disponible dans PHP 5.2.0 et versions ultérieures.Les programmes suivants illustrent la fonction SimpleXMLElement::registerXPathNamespace() en PHP :
Programme 1 :
// Charger le document XML dans $user
$user
= < < < XML
< user xmlns : user_id =
" http://engineerforengineer.org/user "
>
< single_user id =
"1"
>
< user_id : id > 12345 < / user_id : id >
< nom d`utilisateur > Geeks123
< nom > GeeksforGeeks
+ 91-XXXXXXXXXX
< detail font-color =
"blue"
font-size =
"24px"
>
Noida Inde
< / detail >
< / single_user >
< single_user id =
"2"
>
< user_id : id > 15980 < / user_id : id >
< username > Geeks54321 < / nom d`utilisateur >
< nom > Geeks
< téléphone > + 91-XXXXXXXXXX < / téléphone >
< detail font-color =
"blue"
font-size =
"24px"
>
Noida Inde
< / detail >
< / single_user >
< / user >
XML ;
// Charger la chaîne en tant qu`objet xml simple
$xml
= simplexml_load_string (
$user
);
// Enregistrement de l`espace de noms Xpath
$xml
-> registerXPathNamespace (
`u`
,
` http : //engineerforengineer.org/user `
);
// Obtenir xpaths
$result
=
$xml
-> xpath (
`// u : id`
);
// Impressionforeach
(
$result
as
$id
) {
echo
$id
.
"< br>"
;
}
?>
Sortie :12345< br>15980
Programme 2 : < ? php
// Charger le document XML dans $user
$user
= < < < XML
< user xmlns : user_id =
" http://engineerforengineer.org / user "
>
< single_user id =
" 1 "
xmlns : name =
" http://engineerforengineer.org /user/name "
>
< user_id : id > 12345 < / user_id : id >
< username > rakesh123
< name: firstname > Rakesh < / name: firstname >
< nom : nom > Kumar
< téléphone > + 91-XXXXXXXXXX
< detail > Noida India
< / single_user >
< single_user id =
" 2 "
xmlns : name =
" http://engineerforengineer .org/user/name "
>
< user_id : id > 57833 < / user_id : id >
< username > man123
< name: firstname > Manjeet
< nom : nom de famille > Singh
< téléphone > + 91-XXXXXXXXXX < / téléphone >
< detail > Kolkata, Inde
< / single_user >
< single_user id =
" 3 "
xmlns : name =
" http://engineerforengineer.org /user/name "
>
< user_id : id > 98944 < / user_id : id >
< username > ak98
< name: firstname > Ak
< nom : nom de famille > Singh
< téléphone > + 91-XXXXXXXXXX < / phone >
< detail > Noida India
< / single_user >
< / user >
XML ;
// Charger la chaîne en tant qu`objet xml simple
$xml
= simplexml_load_string (
$user
);
/ / Register xpath namespace
$xml
-> registerXPathNamespace (
`u`
,
` http : //engineerforengineer.org/user `
);
$xml
-> registerXPathNamespace (
`un`
,
` http://engineerforengineer.org/user/name `
);
// Obtenir des xpaths
$result
=
$xml
-> xpath (
`// u: id`
);
$result_f_name
=
$xml -> xpath (
`// un: firstname`
);
$result_l_name
=
$xml -> xpath (
` // un: lastname`
);
// Afficher la sortie
foreach
(
$result
as
$id
) {
echo
$id
.
"< br>"
;
}
foreach
(
$result_f_name
as
$f_name
) {
echo
$f_name
.
"< br >"
;
}
foreach
(
$result_l_name
as
$l_name
) {
echo
$l_name
.
"< br >"
;
}
?>
Quitter :12345
57833
98944
Rakesh, Manjeet, Ak, Kum ar, Singh, Singh
Lien : https://www.php.net/manual/en/simplexmlelement.registerxpathnamespace.php