W3C中文教程
全球最大最新的中文 Web 技术教程
HTML CSS SQL PHP COLORS MYSQL BOOTSTRAP
 

PHP SimpleXML - 获取节点/属性值



SimpleXML是一个允许我们轻松地操作和获取XML数据的PHP扩展。


PHP SimpleXML - 获取节点值

从"note.xml"文件获取节点值:

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;
?>
运行实例 »

以上代码的输出将是:

Tove
Jani
Reminder
Don't forget me this weekend!

另一个XML文件

假设我们有一个名为 "books.xml" 的XML文件,如下所示:

<?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 - 获取特定元素的节点值

以下实例获取“books.xml”文件中第一个和第二个 <book> 元素中 <title> 元素的节点值:

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;
?>
运行实例 »

以上代码的输出将是:

Everyday Italian
Harry Potter

PHP SimpleXML - 获取节点值 - 循环

以下实例循环遍历“books.xml”文件中的所有 <book> 元素,并获取<title>,<author>,<year>和<price>元素的节点值:

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>";
}
?>
运行实例 »

以上代码的输出将是:

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 - 获取属性值

以下示例获取第二个 <book> 元素中第一个 <book> 元素的“category”属性的属性值和 <title> 元素的“lang”属性的属性值:

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'];
?>
运行实例 »

以上代码的输出将是:

COOKING
en

PHP SimpleXML - 获取属性值 - 循环

以下示例获取“books.xml”文件中 <title> 元素的属性值:

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>";
}
?>
运行实例 »

以上代码的输出将是:

en
en
en-us
en-us

更多 PHP SimpleXML

有关PHP SimpleXML函数的更多信息,请访问我们的 PHP SimpleXML 参考手册