我有一个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>
我想通过使用book节点的变量 $ 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 替换为&#39; 1&#39; ,我可以获得标题值 id = 1 ;
的图书节点 $findBookNode=$xpath->query("//book[@id='1']")->item(0);
答案 0 :(得分:0)
我刚在代码中发现了问题:
问题是变量$ id是由$ _POST ['id']从另一个代码段中的表单分配的。
$id=$_POST['id'];
然后,变量$ id的值具有尾随空格,例如 的$ id = '1' 成为 $ id ='1'// 1号后的一个空格