Curriculum
Course: PHP Basic
Login

Curriculum

PHP Basic

PHP Install

0/1

PHP Casting

0/1

PHP Constants

0/1

PHP Magic Constants

0/1

PHP Operators

0/1

PHP Reference

0/276
Text lesson

PHP SimpleXML – Get

PHP SimpleXML – Get Node Values

Retrieve the node values from the “note.xml” file:

Example

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

The output of the code above will be:

Tove
Jani
Reminder
Don’t forget me this weekend!

Another XML File

Assume we have an XML file named “books.xml” with the following content:

<?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>
  <book category=”WEB”>
    <title lang=”en-us”>XQuery Kick Start</title>
    <author>James McGovern</author>
    <year>2003</year>
    <price>49.99</price>
  </book>
  <book category=”WEB”>
    <title lang=”en-us”>Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

PHP SimpleXML – Get Node Values of Specific Elements

The following example retrieves the node values of the <title> element from the first and second <book> elements in the “books.xml” file:

Example

<?php
$xml=simplexml_load_file(“books.xml”or die(“Error: Cannot create object”);
echo $xml->book[0]->title . “<br>”;
echo $xml->book[1]->title;
?>

The output of the code above will be:

Everyday Italian
Harry Potter

PHP SimpleXML – Get Node Values – Loop

The following example iterates through all the <book> elements in the “books.xml” file and retrieves the node values for the <title>, <author>, <year>, and <price> elements:

Example

<?php
$xml=simplexml_load_file(“books.xml”or die(“Error: Cannot create object”);
foreach($xml->children() as $books) {
  echo $books->title . “, “;
  echo $books->author . “, “;
  echo $books->year . “, “;
  echo $books->price . “<br>”;
}
?>

The output of the code above will be:

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

PHP SimpleXML – Get Attribute Values

The following example retrieves the value of the “category” attribute from the first <book> element and the value of the “lang” attribute from the <title> element in the second <book> element:

Example

<?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’];
?>

The output of the code above will be:

COOKING
en

PHP SimpleXML – Get Attribute Values – Loop

The following example retrieves the attribute values of the <title> elements in the “books.xml” file:

Example

<?php
$xml=simplexml_load_file(“books.xml”or die(“Error: Cannot create object”);
foreach($xml->children() as $books) {
  echo $books->title[‘lang’];
  echo “<br>”;
}
?>

The output of the code above will be:

en
en
en-us
en-us