我如何使用XPath节点的值?如何使用XPath获取节点的值?
取得具有高于35
/bookstore/book[price>35.00]
价格的所有节点但是,当我改变>为平等的=,查询失败。 请帮忙。顺便说一句,我使用PHP,但这应该不重要,因为XPath是通用的。
下面是我用
$xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<bookstore>
<book>
<title lang=\"eng\">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang=\"eng\">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>"; $xml = new SimpleXMLElement($xml);
$name = 'Shiny Red';
$nodes = $xml->xpath(sprintf('/bookstore/book[price>35.00]', $name));
if (!empty($nodes)) {
printf('At least one building named "%s" found<hr/>', $name);
echo "<textarea style=\"width: 400px; height: 300px;\">";print_r($nodes); echo "</textarea>";
} else {
printf('No building named "%s" found', $name);
}
很难说没有你的XML的一个样本。 – Oded
在XML示例旁边,您希望返回一个值,您还应该添加示例PHP代码。 – hakre
不是在一个位置进行测试,但你有没有试过'/书店/书/ [数字(价格)= 35.00]'? – Wrikken