PHP registerXPathNamespace()Fonctions
Manuel de référence PHP SimpleXML
Exemples
Créer un contexte d'espace de noms pour la prochaine requête XPath:
<?php
$xml=<<<XML
<book xmlns:chap="http://example.org/chapter-title">
<title>Mon livre</title>
<chapter id="1">
<chap:title>Chapitre 1</chap:title>
<para>Donec velit. Nullam eget tellus...</para>
</chapter>
<chapter id="2">
<chap:title>Chapitre 2</chap:title>
<para>Lorem ipsum dolor sit amet....</para>
</chapter>
</book>
XML;
$sxe=new SimpleXMLElement($xml);
$sxe->registerXPathNamespace('c','http://example.org/chapter-title');
$result=$sxe->xpath('//c:title');
foreach ($result as $title)
{
echo $title . "<br>";
}
?>
$xml=<<<XML
<book xmlns:chap="http://example.org/chapter-title">
<title>Mon livre</title>
<chapter id="1">
<chap:title>Chapitre 1</chap:title>
<para>Donec velit. Nullam eget tellus...</para>
</chapter>
<chapter id="2">
<chap:title>Chapitre 2</chap:title>
<para>Lorem ipsum dolor sit amet....</para>
</chapter>
</book>
XML;
$sxe=new SimpleXMLElement($xml);
$sxe->registerXPathNamespace('c','http://example.org/chapter-title');
$result=$sxe->xpath('//c:title');
foreach ($result as $title)
{
echo $title . "<br>";
}
?>
Exécuter l'exemple »
Définition et utilisation
La fonction registerXPathNamespace() crée un contexte d'espace de noms pour la requête XPath suivante.
Cette fonction est utile si le préfixe d'espace de noms est modifié dans un document XML. La fonction registerXPathNamespace() créera un préfixe d'espace de noms spécifié, permettant d'accéder aux nœuds XML concernés sans trop modifier le code de l'application.
Syntaxe
registerXPathNamespace(prefix,ns);
| Parameters | Description |
|---|---|
| préfixe | Requis. Spécifie le préfixe d'espace de nomsnsutilisé dans la requête XPath pour l'espace de noms spécifié. |
| ns | Requis. Spécifie l'espace de noms utilisé pour la requête XPath. |
Détails techniques
| Valeur de retour : | Retourne TRUE en cas de succès, ou FALSE en cas d'échec. |
|---|---|
| Version de PHP : | 5.2+ |
Manuel de référence SimpleXML PHP Autres extensions