PHP - Funzione SimpleXMLElement :: getDocNamespaces ()

Definizione e utilizzo

XML è un linguaggio di markup per condividere i dati sul Web, XML è sia leggibile dall'uomo che dalla macchina. La classe SimpleXMLElement rappresenta un documento XML in PHP.

Il SimpleXMLElement::getDocNamespaces() la funzione recupera e restituisce gli spazi dei nomi dichiarati in un documento.

Sintassi

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

Parametri

Suor n Parametro e descrizione
1

recursive (Optional)

Questo è un valore booleano se passato TRUE questa funzione restituisce gli spazi dei nomi dei nodi padre e figlio.

2

from_root (Optional)

Questo è un valore booleano se passato TRUE questa funzione controlla gli spazi dei nomi sotto un nodo figlio (invece del nodo root).

Valori restituiti

Questa funzione restituisce un array contenente gli spazi dei nomi.

Versione PHP

Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.

Esempio

L'esempio seguente mostra l'utilizzo della funzione 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>

Questo produrrà il seguente risultato:

JavaFX 535 Krishna 11 600

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

Esempio

Di seguito è riportato un esempio di questa funzione con parametri opzionali:

<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>

Questo produrrà il seguente output:

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