要使用XPath根据同一节点的两个条件检查XML段并返回true,首先需要理解XPath的基本概念和语法。XPath是一种在XML文档中查找信息的语言,它可以通过元素和属性来导航XML文档。
假设有以下XML段:
<library>
<book id="101">
<title>Learning XML</title>
<author>Erik T. Ray</author>
</book>
<book id="102">
<title>XPath Tutorial</title>
<author>Jay Banerjee</author>
</book>
</library>
如果我们想要检查是否存在一个book
元素,其id
属性为"101"且title
元素的文本为"Learning XML",我们可以使用以下XPath表达式:
//book[@id='101' and title='Learning XML']
from lxml import etree
xml_data = """
<library>
<book id="101">
<title>Learning XML</title>
<author>Erik T. Ray</author>
</book>
<book id="102">
<title>XPath Tutorial</title>
<author>Jay Banerjee</author>
</book>
</library>
"""
tree = etree.fromstring(xml_data)
xpath_expr = "//book[@id='101' and title='Learning XML']"
result = tree.xpath(xpath_expr)
if result:
print("条件满足,返回true")
else:
print("条件不满足,返回false")
/
开头,指定从根节点开始的路径。/
开头,指定相对于当前节点的路径。通过上述方法和示例,你可以有效地使用XPath来检查XML文档中的特定条件,并根据结果执行相应的逻辑。
领取专属 10元无门槛券
手把手带您无忧上云