Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取xml元素的值_Php_Xml_Xpath - Fatal编程技术网

Php 如何获取xml元素的值

Php 如何获取xml元素的值,php,xml,xpath,Php,Xml,Xpath,我需要从一个xml文件中检索“TotalBooks”的值,该文件的结构如下例所示 我可以通过对“book”进行计数来获得与“MatchesFound”值相等的值,并且我可以成功地获得每本书的信息 但是,我无法获得xml文件中显示的“MatchesFound”、“TotalBooks”和“Page”的实际值 我将php与simplexml_加载_文件一起使用。我能得到的任何帮助都很感激。谢谢 <?xml version="1.0" encoding="UTF-8"?> <book

我需要从一个xml文件中检索“TotalBooks”的值,该文件的结构如下例所示

我可以通过对“book”进行计数来获得与“MatchesFound”值相等的值,并且我可以成功地获得每本书的信息

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

我将php与simplexml_加载_文件一起使用。我能得到的任何帮助都很感激。谢谢

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

2.
563
1.
日常意大利语
吉娅达·德·劳伦蒂斯
2005
30
哈利·波特
J K.罗琳
2005
29.99
使用:


向我们展示您的php代码。我们无法帮助您,除非我们知道如何检索数据。
$xml = new SimpleXMLElement($xmlString);
echo $xml->TotalBooks;
<?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";
}

?>