SimpleXMLElement: : getDocNamespaces
(PHP 5 >= 5.1.2, PHP 7)
SimpleXMLElement::getDocNamespaces — Retourne les espaces de noms déclarés dans un document
Description
$recursive
= FALSE
[, bool $from_root
= TRUE
]] ) : arrayRetourne les espaces de noms déclarés dans un document.
Liste de paramètres
-
recursive
-
Si spécifié, retourne tous les espaces de noms déclarés dans les noeuds parents et enfants. Sinon, retourne uniquement les espaces de noms déclarés dans le noeud racine.
-
from_root
-
Vous permet de vérifier récursivement les espaces de noms sous un noeud fils au lieu d'effectuer cette vérification depuis la racine du document XML.
Valeurs de retour
La méthode getDocNamespaces retourne un tableau d'espaces de noms avec leurs URL associées.
Exemples
Exemple #1 Récupère les espaces de noms du document
<?php
$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns">
<p:person id="1">John Doe</p:person>
<p:person id="2">Susie Q. Public</p:person>
</people>
XML;
$sxe = new SimpleXMLElement($xml);
$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);
?>
L'exemple ci-dessus va afficher :
array(1) { ["p"]=> string(21) "http://example.org/ns" }
Exemple #2 Travail avec plusieurs espaces de noms
<?php
$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
<p:person t:id="1">John Doe</p:person>
<p:person t:id="2" a:addr="123 Street" xmlns:a="http://example.org/addr">
Susie Q. Public
</p:person>
</people>
XML;
$sxe = new SimpleXMLElement($xml);
$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);
?>
L'exemple ci-dessus va afficher :
array(3) { ["p"]=> string(21) "http://example.org/ns" ["t"]=> string(23) "http://example.org/test" ["a"]=> string(23) "http://example.org/addr" }
Voir aussi
- SimpleXMLElement::getNamespaces() - Retourne les espaces de noms utilisés dans un document
- SimpleXMLElement::registerXPathNamespace() - Crée un contexte préfixe/ns pour la prochaine requête XPath
Version en cache
23/12/2024 12:10:27 Cette version de la page est en cache (à la date du 23/12/2024 12:10:27) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-simplexmlelement.getdocnamespaces.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.