XPathを使用してノードの値を取得するにはどうすればよいですか?XPathを使用してノードの値を取得するにはどうすればよいですか?
は35
/bookstore/book[price>35.00]
上記の価格を持っているすべてのノードを取得します。しかし、私は等号のために=に>変更したときに、クエリが失敗します。 助けてください。ところで、私はPHPを使用していますが、それはXPathが普遍的であるので重要ではありません。
ここでPHPコードとXMLコードは、私はトリックが引用符で囲まれている
$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
テストする立場にはいませんが、 '/ bookstore/book/[number(price)= 35.00]'を試しましたか? – Wrikken