我有這樣的XML:需要與xmlpath中提取數據/ xmlsearch
<?xml version="1.0" encoding="utf-8"?>
<xml>
<site>
<id>123</id>
<po>BT123</po>
</site>
<order>
<shipping>
<shippingmethod>1</shippingmethod>
<firstname>Test</firstname>
<lastname>User</lastname>
<address>1234 My Place</address>
<address2>Apt 101</address2>
<city>Anytown</city>
<state>AL</state>
<zip>12345</zip>
</shipping>
<orderitems>
<item>
<isbn>9780752419930</isbn>
<rentalterm>1</rentalterm>
</item>
<item>
<isbn>0495599336</isbn>
<rentalterm>3</rentalterm>
</item>
<item>
<isbn>0743500210</isbn>
<rentalterm>2</rentalterm>
</item>
</orderitems>
</order>
</xml>
我想要做的就是讓所有的ISBN,其中租賃期限不是2 我知道如何讓所有的ISBN:
//item/isbn/text()
和具體租期:
//item[rentalterm!=2]
但我不知道如何把它們放在一起。有什麼建議麼?
是不是比(!)更快!=? – dbinott 2011-12-15 15:58:32
這不是速度問題。 `不'(rentalterm ='2')`當'item'不包含* any * child'rentalterm`的值爲`2`時返回`true`。另一方面,`rentterm!= 2`使用存在性量化,這意味着如果有任何*`rentalterm`子元素不等於`2`,那麼選擇'item`,即使還有另一個`rentalterm`,其值*是*`2`。因此,在XPath中`not`幾乎總是比'!=`更清晰(並且絕對更嚴格/更安全)。 (除非你知道你的*意思是使用`!=`;理解差異是重要的。) – 2011-12-15 16:07:52