PHP - Función XMLReader :: expand ()
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::expand() La función de la clase XMLReader copia el contenido del nodo actual y lo devuelve como un objeto DOM.
Sintaxis
XMLReader::expand([$base]);
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | base(Mandatory) Este es un objeto de la clase DOMNode que representa el documento de destino. |
Valores devueltos
Esta función devuelve un objeto de la clase DOMNode. Si hay algún problema, devuelve el valor booleano FALSE.
Versión PHP
Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.
Ejemplo
A continuación se muestra un ejemplo de esta función con parámetros opcionales:
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();
?>
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
)
Ejemplo
A continuación se muestra otro ejemplo de esta función:
<?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();
?>
Esto producirá el siguiente 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
)
Ejemplo
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();
?>
Esto producirá el siguiente resultado:
<?xml version="1.0"?>
<data>
<name>Raju</name>
<age>32</age>
<phone>9848022338</phone>
<city>Hyderabad</city>
</data>