PHP - Função SimpleXMLElement :: getDocNamespaces ()
Definição e Uso
XML é uma linguagem de marcação para compartilhar os dados na web, XML é tanto para leitura humana quanto para máquina. A classe SimpleXMLElement representa um documento XML em PHP.
o SimpleXMLElement::getDocNamespaces() função recupera e retorna os namespaces declarados em um documento.
Sintaxe
SimpleXMLElement::getDocNamespaces([$recursive, $from_root]);
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 |
recursive (Optional) Este é um valor booleano se passado como TRUE, esta função retorna namespaces de nós pais e filhos. |
2 |
from_root (Optional) Este é um valor booleano se passado como TRUE, esta função verifica os namespaces em um nó filho (em vez do nó raiz). |
Valores Retornados
Esta função retorna um array contendo os namespaces.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP Versão 5 e funciona em todas as versões posteriores.
Exemplo
O exemplo a seguir demonstra o uso da função 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>
Isso produzirá o seguinte resultado -
JavaFX 535 Krishna 11 600
SimpleXMLElement Object (
[@attributes] => Array ( [type] => test )
[Name] => JavaFX [Pages] => 535
[Author] => Krishna [Version] => 11
[Tutorial] => SimpleXMLElement Object
( [Price] => 600 )
)
Exemplo
A seguir está um exemplo desta função com parâmetros opcionais -
<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>
Isso produzirá a seguinte saída -
array(2) {
["t"]=> string(21) "http://example.org/ns"
["test"]=> string(20) "http://demo.com/test"
}