2013-10-27 103 views
0

我需要從結構如下例所示的xml文件中檢索「TotalBooks」的值。如何獲取xml元素的值

我可以通過計算「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> 
+2

向我們展示你的PHP代碼。除非我們知道如何檢索數據,否則我們無法幫助您。 – DrinkJavaCodeJava

回答

2
$xml = new SimpleXMLElement($xmlString); 
echo $xml->TotalBooks; 
+0

這工作完美。謝謝。 – user2925853

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