2013-08-20 54 views
0

如何爲兩個屬性編寫Xpath?例如我需要獲得大於20%折扣的價值,同樣折扣大於200(不含任何基準值的鏈接)不同值的Xpath上的雙節點

+1

你應該提供一個你正在尋找的東西的樣本,並指定你正在寫這個的語言。 – MattH

回答

2

您可以在謂詞中組合約束條件。例如:

from lxml import etree 

doc = etree.XML("""<xml> 
<items> 
<item discount_perc="25" discount_value="250">Something</item> 
</items> 
</xml> 
""") 

doc.xpath('items/item[@discount_perc > 20 and @discount_value > 200]') 
+0

只是一個樣式的東西,但也許有人喜歡它:你也可以寫'items/item [@discount_perc > 20] [@ discount_value> 200]' – dirkk

0

將嘗試回答一個簡單的例子。想象一下,你有以下的XML:

<?xml version="1.0"?> 
<data> 
    <node value="10" weight="1">foo</node> 
    <node value="10" weight="2">bar</node> 
</data> 

然後使用該查詢來選擇第一<node>的文字:

//node[@value="10" and @weight="1"]/text() 

,這第二:

//node[@value="10" and @weight="2"]/text() 

希望這有助於。