如何为两个属性编写Xpath?例如我需要获得折扣价值> 20%且同样的折扣大于金额200(没有任何基本价值链接)
答案 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()
希望这有帮助。