PHP SimpleXML 获取节点/属性值
SimpleXML 是一个 PHP 扩展,允许我们轻松操作和获取 XML 数据。
PHP SimpleXML - 获取节点值
从 "note.xml"
文件中获取节点值:
实例
<?php
$xml=simplexml_load_file("note.xml") or die("错误:无法创建对象");
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" 文件中第一本书和第二本书的 <title>
元素的节点值:
实例
<?php
$xml=simplexml_load_file("books.xml") or die("错误:无法创建对象");
echo $xml->book[0]->title . "<br>";
echo $xml->book[1]->title;
?>
上述代码的输出将是:
Everyday Italian Harry Potter
PHP SimpleXML - 获取节点值 - 循环
下例循环遍历 "books.xml"
文件中的所有 <book>
元素,并获取 <title>
、<author>
、<year>
和 <price>
元素的节点值:
实例
<?php
$xml=simplexml_load_file("books.xml") or die("错误:无法创建对象");
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 - 获取属性值
下例获取第一本书的 "category"
属性的属性值和第二本书的 <title>
元素的 "lang"
属性的属性值:
实例
<?php
$xml=simplexml_load_file("books.xml") or die("错误:Cannot create object");
echo $xml->book[0]['category'] . "<br>";
echo $xml->book[1]->title['lang'];
?>
上述代码的输出将是:
COOKING en
PHP SimpleXML - 获取属性值 - 循环
下例获取 "books.xml"
文件中 <title>
元素的属性值:
实例
<?php
$xml=simplexml_load_file("books.xml") or die("错误: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 参考手册。