[英]PHP XPath get Node by Attribute
我有一個bookCatalog.xml文件,如下所示
<bookCatalog>
<book id='1'>
<title>html</title>
</book>
<book id='2'>
<title>java</title>
</book>
<book id='3'>
<title>php</title>
</book>
</bookCatalog>
我想通過使用書節點的變量$ id以編程方式獲取書節點的標題值 ,並且我使用了以下代碼:
$doc=new DOMDocument();
$doc->load('bookCatalog.xml');
$xpath= new DOMXPath($doc);
$findBookNode=$xpath->query("//book[@id='$id']")->item(0);
foreach ($findBookNode as $child) {
if ($child->nodeName === 'title') {
$bookTitle = $child->nodeValue;
}
}
但是事實證明結果不是我想要的。
如果將變量$ id 替換為'1' ,則可以獲得id = 1的book節點的書名值 ;
$findBookNode=$xpath->query("//book[@id='1']")->item(0);
我剛剛在代碼中發現了問題:
問題是變量$ id由$ _POST ['id']從另一個代碼段中的表單分配。
$id=$_POST['id'];
然后變量$ id的值具有尾隨空格 ,例如$ id ='1'變為$ id ='1'// // 數字1之后有一個空格
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.