PHP - Función XMLReader :: open ()
Definición y uso
XML es un lenguaje de marcado para compartir los datos a través de la web, XML es legible tanto para humanos como para máquinas. La extensión XMLReader se utiliza para leer / recuperar el contenido de un documento XML, es decir, utilizando los métodos de la clase XMLReader puede leer cada nodo de un documento XML.
los XMLReader::open() La función de la clase XMLReader acepta un valor de cadena que representa la ruta absoluta del documento XML, cuyo contenido se debe leer.
Sintaxis
XMLReader::open ($URI [$encoding, $options]);
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | URI(Mandatory) Este es un valor de cadena que representa la ruta del documento XML. |
2 | encoding(Mandatory) Este es un valor de cadena que representa la codificación o nulo. |
3 | options(Optional) Este es un valor entero que representa la máscara de bits. |
Valores devueltos
Esta función devuelve un valor booleano que es VERDADERO en caso de éxito y FALSO en caso de falla. Cuando llama a esta función de forma estática, devuelve un objeto XMLReader en caso de éxito y FALSE en caso de error.
Versión PHP
Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.
Ejemplo
El siguiente ejemplo demuestra el uso de XMLReader::open() función -
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();
?>
Esto producirá el siguiente resultado:
Krishna
22
Hyderabad
Raju
30
Delhi
Ejemplo
A continuación se muestra otro ejemplo de esta función:
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();
?>
Esto producirá el siguiente 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>
Ejemplo
A continuación se muestra un ejemplo de esta función con parámetros opcionales:
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();
?>
Esto producirá el siguiente 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
)