PHP - Função XMLReader :: open ()
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::open() A função da classe XMLReader aceita um valor de string que representa o caminho absoluto do documento XML, cujo conteúdo deve ser lido.
Sintaxe
XMLReader::open ($URI [$encoding, $options]);
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | URI(Mandatory) Este é um valor de string que representa o caminho do documento XML. |
2 | encoding(Mandatory) Este é um valor de string que representa a codificação ou Nulo. |
3 | options(Optional) Este é um valor inteiro que representa a máscara de bits. |
Valores Retornados
Esta função retorna um valor booleano que é TRUE em caso de sucesso e FALSE em caso de falha. Quando você chama esta função estaticamente, ela retorna um objeto XMLReader em caso de sucesso e FALSE em caso de falha.
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 do XMLReader::open() função -
data.xml
<Data>
<Employee>
<Name>Krishna</Name>
<Age>22</Age>
<City>Hyderabad</City>
</Employee>
<Employee>
<Name>Raju</Name>
<Age>30</Age>
<City>Delhi</City>
</Employee>
</Data>
sample.php
<?php
//Creating an XMLReader
$reader = new XMLReader();
//Opening a reader
$reader->open("data.xml");
//reading the contents of the XML file
while($reader->next()){
print($reader->readString());
}
//Closing the reader
$reader->close();
?>
Isso produzirá o seguinte resultado -
Krishna
22
Hyderabad
Raju
30
Delhi
Exemplo
A seguir está outro exemplo desta função -
mydata.xml
<?xml version="1.0" encoding="utf-8"?>
<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->readInnerXml();
print($data);
//Closing the reader
$reader->close();
?>
Isso produzirá o seguinte resultado -
<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>
Exemplo
A seguir está um exemplo desta função com parâmetros opcionais -
mydata.xml
<?xml version="1.0" encoding="utf-8"?>
<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", "UTF-8");
//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
)