SimpleXML es una extensión PHP que nos permite fácilmente manipular y obtener datos XML.
PHP SimpleXML - Obtener valores de nodo
Obtenga los valores de los nodos del archivo "note.xml":
<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create object");
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>
Salida esperada:
Tove Jani Reminder Don't forget me this weekend!
En SimpleXML, podemos cargar y trabajar con múltiples archivos XML de manera sencilla.
Ejemplo de otro archivo XML
Supongamos que tenemos un archivo XML llamado "books.xml" con el siguiente contenido:
<?xml version="1.0" encoding="utf-8"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Para leer este archivo en PHP y obtener los datos de los libros, usamos SimpleXML:
<?php
$xml = simplexml_load_file("books.xml") or die("Error: No se pudo cargar el archivo");
foreach ($xml->book as $book) {
echo "Título: " . $book->title . "<br>";
echo "Autor: " . $book->author . "<br>";
echo "Año: " . $book->year . "<br>";
echo "Precio: $" . $book->price . "<br><br>";
}
?>
Salida esperada:
Título: Everyday Italian Autor: Giada De Laurentiis Año: 2005 Precio: $30.00 Título: Harry Potter Autor: J K. Rowling Año: 2005 Precio: $29.99
Podemos acceder a nodos específicos dentro de un XML usando índices en SimpleXML.
Ejemplo
Obtener el valor del nodo "title" de los primeros dos elementos "book" en "books.xml":
<?php
$xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
echo $xml->book[0]->title . "<br>";
echo $xml->book[1]->title;
?>
Salida esperada:
Everyday Italian Harry Potter
El siguiente ejemplo recorre todos los elementos "book" en el archivo "books.xml" y obtiene los valores de los nodos "title", "author", "year" y "price":
<?php
$xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
foreach($xml->children() as $book) {
echo $book->title . ", ";
echo $book->author . ", ";
echo $book->year . ", ";
echo $book->price . "<br>";
}
?>
Salida esperada:
Everyday Italian, Giada De Laurentiis, 2005, 30.00
Harry Potter, J K. Rowling, 2005, 29.99
XQuery Kick Start, James McGovern, 2003, 49.99
Learning XML, Erik T. Ray, 2003, 39.95
Cómo obtener los valores de atributos dentro de un XML usando SimpleXML.
Ejemplo
El siguiente ejemplo obtiene el valor del atributo "category" del primer elemento "book" y el valor del atributo "lang" del elemento "title" en el segundo elemento "book":
<?php
$xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
echo $xml->book[0]['category'] . "<br>";
echo $xml->book[1]->title['lang'];
?>
Salida esperada:
COOKING en
Cómo recorrer un XML para obtener los valores de los atributos en un bucle.
Ejemplo
El siguiente ejemplo obtiene los valores de atributos de los elementos de "books.xml" en el archivo "books.xml":
<?php
$xml=simplexml_load_file("books.xml") or die("Error: Cannot create object");
foreach($xml->children() as $books) {
echo $books->title['lang'];
echo "<br>";
}
?>
Salida esperada:
en en en-us en-us
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias