我需要从xml文件中检索“TotalBooks”值的值,该文件的结构类似于下面的示例。
通过计算“book”,我可以得到相当于“MatchesFound”的值,我可以成功获取每本书的信息。
但是,我无法获取xml文件中显示的“MatchesFound”,“TotalBooks”和“Page”的实际值。
我正在使用php和simplexml_load_file。我能得到的任何帮助表示赞赏。感谢。
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<MatchesFound>2</MatchesFound>
<TotalBooks>563</TotalBooks>
<Page>1</Page>
<book>
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price currency="USD">30.00</price>
</book>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price currency="USD">29.99</price>
</book>
</bookstore>
答案 0 :(得分:2)
$xml = new SimpleXMLElement($xmlString);
echo $xml->TotalBooks;
答案 1 :(得分:0)
使用xpath:
<?php
$string = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<MatchesFound>2</MatchesFound>
<TotalBooks>563</TotalBooks>
<Page>1</Page>
<book>
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price currency="USD">30.00</price>
</book>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price currency="USD">29.99</price>
</book>
</bookstore>
XML;
$xml = new SimpleXMLElement($string);
$result = $xml->xpath('//TotalBooks');
while(list( , $node) = each($result)) {
echo "$node\n";
}
?>