PHP - Funzione XMLReader :: open ()
Definizione e utilizzo
XML è un linguaggio di markup per condividere i dati sul Web, XML è sia leggibile dall'uomo che dalla macchina. L'estensione XMLReader viene utilizzata per leggere / recuperare il contenuto di un documento XML, ovvero utilizzando i metodi della classe XMLReader è possibile leggere ogni nodo di un documento XML.
Il XMLReader::open() la funzione della classe XMLReader accetta un valore stringa che rappresenta il percorso assoluto del documento XML, il cui contenuto deve essere letto.
Sintassi
XMLReader::open ($URI [$encoding, $options]);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | URI(Mandatory) Questo è un valore stringa che rappresenta il percorso del documento XML. |
2 | encoding(Mandatory) Questo è un valore stringa che rappresenta la codifica o Null. |
3 | options(Optional) Questo è un valore intero che rappresenta la maschera di bit. |
Valori restituiti
Questa funzione restituisce un valore booleano che è TRUE in caso di successo e FALSE in caso di fallimento. Quando chiamate questa funzione staticamente, restituisce un oggetto XMLReader in caso di successo e FALSE in caso di fallimento.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.
Esempio
L'esempio seguente mostra l'utilizzo di XMLReader::open() funzione -
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();
?>
Questo produrrà il seguente risultato:
Krishna
22
Hyderabad
Raju
30
Delhi
Esempio
Di seguito è riportato un altro esempio di questa funzione:
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();
?>
Questo produrrà il seguente risultato:
<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>
Esempio
Di seguito è riportato un esempio di questa funzione con parametri opzionali:
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();
?>
Questo produrrà il seguente risultato:
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
)