[英]Parsing xml with php and xpath
我正在嘗試解析xml文件以僅返回具有特定ID的項目,但無法使其正常工作。
這就是我在PHP
$xml_str = file_get_contents("test.xml");
$xml = simplexml_load_string($xml_str);
$albid = $_GET['id'];
$nodes = $xml->xpath('//library/book[@id=1]');
foreach($nodes as $node) {
echo $node['title'].'<br/>';
}
首先,PHP沒有從xml文件返回任何內容。
我需要解決什么才能返回數據?
另外,如何在xpath中輸入$ albid以便從鏈接中檢索ID?
朝正確方向的任何指針將不勝感激。
謝謝!
-這是示例xml文件-
<library>
<book id="1">
<title>PHP and MySQL</title>
<author fname="miguel" lname="alvarez">Miguel Alvarez</author>
</book>
<book id="2">
<title>JAVA 123</title>
<author fname="william" lname="vega">WIlliam Vega</author>
</book>
首先,必須關閉<library>
標記,否則XML格式不正確,解析將失敗。
SimpleXMLElement :: xpath()返回一個對象( ref ),因此在循環內執行: echo $node->title.'<br/>';
將$ albid放入字符串中..使用字符串連接: $nodes = $xml->xpath('//library/book[@id='.$albid.']');
嘗試這個,
$xml_str = file_get_contents("test.xml");
$xml = simplexml_load_string($xml_str);
$albid = $_GET['id'];
$nodes = $xml->xpath("//library/book[@id=$albid]");
foreach($nodes as $node) {
echo $node->title.'<br/>';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.