最新的Web開發教程
 

PHP SimpleXML的 - 獲取節點/屬性值


SimpleXML的是一個PHP擴展,它可以讓我們輕鬆操作並獲取XML數據。


PHP的SimpleXML - 獲取節點值

從“獲取節點值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;
?>
運行示例»

代碼的輸出將是:

Tove
Jani
Reminder
Don't forget me this weekend!

另一個XML文件

假設我們有一個名為“一個XML文件的books.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 - 獲取特定元素的節點值

下面的示例獲取的節點值<title>在第一和第二元件<book>中的元素"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;
?>
運行示例»

代碼的輸出將是:

Everyday Italian
Harry Potter

PHP的SimpleXML - 獲取節點值 - 環

下面的示例遍歷所有的<book>中的元素"books.xml"文件,並得到<標題>,<作者>,<年份>,和的節點值<price>元素:

<?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 - 獲取屬性值

下面的示例獲取的屬性值"category"的第一個屬性<book>元件和所述的屬性值"lang"的屬性<title>在第二元件<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'];
?>
運行示例»

代碼的輸出將是:

COOKING
en

PHP的SimpleXML - 獲取屬性值 - 環

下面的示例獲取的屬性值<title>中的元素"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>";
}
?>
運行示例»

代碼的輸出將是:

en
en
en-us
en-us

更多PHP的SimpleXML

有關PHP的SimpleXML功能的更多信息,請訪問我們的PHP的SimpleXML參考。