PHP - Fonction SimpleXMLElement :: getDocNamespaces ()

Définition et utilisation

XML est un langage de balisage permettant de partager les données sur le Web, XML est à la fois lisible par l'homme et par machine. La classe SimpleXMLElement représente un document XML en PHP.

le SimpleXMLElement::getDocNamespaces() La fonction récupère et retourne les espaces de noms déclarés dans un document.

Syntaxe

SimpleXMLElement::getDocNamespaces([$recursive, $from_root]);

Paramètres

Sr. Non Paramètre et description
1

recursive (Optional)

Il s'agit d'une valeur booléenne si elle est passée à TRUE, cette fonction renvoie les espaces de noms des nœuds parents et enfants.

2

from_root (Optional)

Il s'agit d'une valeur booléenne si elle est passée à TRUE, cette fonction vérifie les espaces de noms sous un nœud enfant (au lieu du nœud racine).

Valeurs de retour

Cette fonction renvoie un tableau contenant les espaces de nom.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 5 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

L'exemple suivant illustre l'utilisation de la fonction SimpleXMLElement :: getDocNamespaces ().

<html>
   <head>
      <body>
         <?php
            $str="<?xml version='1.0' standalone='yes'?>
            <Tutorial xmlns:p='http://test.org/ns'>
               <Name>JavaFX</Name>
               <Pages>535</Pages>
               <Author>Krishna</Author>
               <Version>11</Version>
            </Tutorial>";
            $xml = new SimpleXMLElement($str);
            $result = $xml->getDocNamespaces();
            print_r($result);	  
         ?>      
      </body>
   </head>   
</html>

Cela produira le résultat suivant -

JavaFX 535 Krishna 11 600

SimpleXMLElement Object ( 
   [@attributes] => Array ( [type] => test ) 
   [Name] => JavaFX [Pages] => 535 
   [Author] => Krishna [Version] => 11 
   [Tutorial] => SimpleXMLElement Object 
   ( [Price] => 600 ) 
)

Exemple

Voici un exemple de cette fonction avec des paramètres optionnels -

<html>
   <head>
      <body>
         <?php
            $str="<Tutorial xmlns:t='http://example.org/ns' xmlns:test='http://demo.com/test'>
               <t:Name test:ns='a'>JavaFX</t:Name>
               <t:Pages test:ns='b'>535</t:Pages>
               <t:Author test:ns='c'>Krishna</t:Author>
               <t:Version test:ns='d'>11</t:Version>
            </Tutorial>"; 
            $xml = new SimpleXMLElement($str);
            $result = $xml->getDocNamespaces(TRUE, TRUE);
            var_dump($result);	 
         ?>      
      </body>
   </head>   
</html>

Cela produira la sortie suivante -

array(2) { 
   ["t"]=> string(21) "http://example.org/ns" 
   ["test"]=> string(20) "http://demo.com/test" 
}