0

我需要从一个 xml 文件中检索“TotalBooks”的值,该文件的结构类似于下面的示例。

我可以通过计算“book”来获得相当于“MatchesFound”的值,并且可以成功获取每本书的信息。

但是,我无法获得“MatchesFound”、“TotalBooks”和“Page”的 xml 文件中显示的实际值。

我正在使用带有 simplexml_load_file 的 php。感谢我能得到的任何帮助。谢谢。

<?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>
4

2 回答 2

2
$xml = new SimpleXMLElement($xmlString);
echo $xml->TotalBooks;
于 2013-10-27T20:18:04.643 回答
0

使用

<?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";
}

?>

http://php.net/manual/en/simplexmlelement.xpath.php

于 2013-10-27T20:19:20.313 回答