PHP - Função XMLReader :: expand ()
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 extensão XMLReader é usada para ler / recuperar o conteúdo de um documento XML, ou seja, usando os métodos da classe XMLReader, você pode ler cada nó de um documento XML.
o XMLReader::expand() A função da classe XMLReader copia o conteúdo do nó atual e o retorna como um objeto DOM.
Sintaxe
XMLReader::expand([$base]);
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | base(Mandatory) Este é um objeto da classe DOMNode que representa o documento de destino. |
Valores Retornados
Esta função retorna um objeto da classe DOMNode. Se houver um problema, ele retorna o valor booleano FALSE.
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
A seguir está um exemplo desta função com parâmetros opcionais -
data.xml
<Tutorials>
<Tutorial>
<Name>JavaFX</Name>
<Pages>535</Pages>
<Author>Krishna</Author>
<Version>11</Version>
</Tutorial>
<Tutorial>
<Name>CoffeeScript</Name>
<Pages>235</Pages>
<Author>Kasyap</Author>
<Version>2.5.1</Version>
</Tutorial>
</Tutorials>
sample.php
<?php
//Creating an XMLReader
$reader = new XMLReader();
//Opening a reader
$reader->open("mydata.xml");
//Reading the contents
$reader->read();
$data = $reader->expand();
print_r($data);
//Closing the reader
$reader->close();
?>
Isso produzirá o seguinte resultado -
DOMElement Object (
[tagName] => Tutorials
[schemaTypeInfo] =>
[nodeName] => Tutorials
[nodeValue] =>
JavaFX
535
Krishna
11
CoffeeScript
235
Kasyap
2.5.1
[nodeType] => 1
[parentNode] =>
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] =>
[nextSibling] =>
[attributes] => (object value omitted)
[namespaceURI] =>
[prefix] =>
[localName] => Tutorials
[baseURI] =>
[textContent] =>
JavaFX
535
Krishna
11
CoffeeScript
235
Kasyap
2.5.1
)
Exemplo
A seguir está outro exemplo desta função -
<?php
//Creating an XMLReader
$reader = new XMLReader();
$data = "<data>
<name>Raju</name>
<age>32</age>
<phone>9848022338</phone>
<city>Hyderabad</city>
</data> ";
//Opening a reader
$reader->xml($data);
//Reading the contents
$reader->read();
$data = $reader->expand();
print_r($data);
//Closing the reader
$reader->close();
?>
Isso produzirá o seguinte resultado -
DOMElement Object (
[tagName] => data
[schemaTypeInfo] =>
[nodeName] => data
[nodeValue] =>
Raju
32
9848022338
Hyderabad
[nodeType] => 1
[parentNode] =>
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] =>
[nextSibling] =>
[attributes] => (object value omitted)
[namespaceURI] =>
[prefix] =>
[localName] => data
[baseURI] =>
[textContent] =>
Raju
32
9848022338
Hyderabad
)
Exemplo
mydata.xml
<data>
<name>Raju</name>
<age>32</age>
<phone>9848022338</phone>
<city>Hyderabad</city>
</data>
sample.php
<?php
//Creating an XMLReader
$reader = new XMLReader();
//Opening a reader
$reader->open("test.xml");
//Reading the contents
$reader->read();
$ele = $reader->expand();
$doc = new DOMDocument();
$doc->appendChild($ele);
$res = $doc->saveXML();
print_r($res);
//Closing the reader
$reader->close();
?>
Isso produzirá o seguinte resultado -
<?xml version="1.0"?>
<data>
<name>Raju</name>
<age>32</age>
<phone>9848022338</phone>
<city>Hyderabad</city>
</data>