2013-08-20 55 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() 

希望这有助于。