Xpath上的双节点用于不同的值

时间:2013-08-20 11:49:49

标签: xpath

如何为两个属性编写Xpath?例如我需要获得折扣价值> 20%且同样的折扣大于金额200(没有任何基本价值链接)

2 个答案:

答案 0 :(得分:2)

您可以在谓词中组合约束。 E.g:

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]')

答案 1 :(得分: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()

希望这有帮助。