PHP - Fonction XMLReader :: open ()

Définition et utilisation

XML est un langage de balisage permettant de partager les données sur le Web, XML est à la fois lisible par l'homme et par machine. L'extension XMLReader est utilisée pour lire / récupérer le contenu d'un document XML, c'est-à-dire en utilisant les méthodes de la classe XMLReader, vous pouvez lire chaque nœud d'un document XML.

le XMLReader::open() La fonction de la classe XMLReader accepte une valeur de chaîne représentant le chemin absolu du document XML, dont le contenu doit être lu.

Syntaxe

XMLReader::open ($URI [$encoding, $options]);

Paramètres

Sr. Non Paramètre et description
1

URI(Mandatory)

Il s'agit d'une valeur de chaîne représentant le chemin du document XML.

2

encoding(Mandatory)

Il s'agit d'une valeur de chaîne représentant le codage ou Null.

3

options(Optional)

Il s'agit d'une valeur entière représentant le masque de bits.

Valeurs de retour

Cette fonction renvoie une valeur booléenne qui est TRUE en cas de succès et FALSE en cas d'échec. Lorsque vous appelez cette fonction de manière statique, elle renvoie un objet XMLReader en cas de succès et FALSE en cas d'échec.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 5 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

L'exemple suivant montre l'utilisation du XMLReader::open() fonction -

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();
?>

Cela produira le résultat suivant -

Krishna
22
Hyderabad

Raju
30
Delhi

Exemple

Voici un autre exemple de cette fonction -

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();
?>

Cela produira le résultat suivant -

<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>

Exemple

Voici un exemple de cette fonction avec des paramètres optionnels -

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();
?>

Cela produira le résultat suivant -

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
)