如何獲取XML元素中屬性的值?如何獲取PHP中XML元素內的屬性值?
例如: 我想要得到的屬性類別的價值。
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
如何獲取XML元素中屬性的值?如何獲取PHP中XML元素內的屬性值?
例如: 我想要得到的屬性類別的價值。
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
使用SimpleXML
擴展:
<?php
$xml = '<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>';
$doc = simplexml_load_string($xml);
echo $doc->book->attributes()->category; // cooking
echo $doc->book->title.PHP_EOL; // Everyday Italian
echo $doc->book->title->attributes()->lang.PHP_EOL; // en
每一個元素都將被設置爲根對象上的屬性讓你直接訪問。在這種情況下,您可以使用attributes()
來獲取book
元素的屬性。
您可以在示例中看到,您可以繼續按照相同的方式瀏覽關卡:要獲得book
中的lang
屬性,請使用$doc->book->title->attributes()->lang
。
$xml=simplexml_load_file("yourfile.xml");
echo $xml->book[0]['category'];
PHP在可用於解析XML文件的標準庫中提供了一個SimpleXML
類。
$data = <<<END
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>
END;
$xml = simplexml_load_string($data);
$categoryAttributes = $xml->xpath('/bookstore/book/@category');
echo $categoryAttributes[0];
http://php.net/manual/en/book.simplexml.php可以做到這一點。 – apokryfos