如何在 Python 中使用 XPath
XPath 是一种用于在 XML 和 HTML 文档中选取元素的语言,Python 中可以使用 lxml 库来实现 XPath 的解析和使用。
下面是使用 lxml 库解析 XML 文档,使用 XPath 选取元素的代码:
from lxml import etree # XML 文档字符串 xml_str = '''<root> <person> <name>pidancode.com</name> <age>18</age> </person> <person> <name>皮蛋编程</name> <age>20</age> </person> </root>''' # 将 XML 字符串转换为 Element 对象 root = etree.fromstring(xml_str) # 使用 XPath 选取 name 元素的文本 names = root.xpath('//name/text()') # 打印选取的元素文本 print(names)
输出结果为:
['pidancode.com', '皮蛋编程']
在此代码中,首先将 XML 字符串转换为 Element 对象,然后使用 XPath 选取元素的文本。XPath 中的 //name
表示选取所有名为 name 的元素,/text()
表示选取元素的文本。
除了选取元素的文本,还可以使用 XPath 选取元素的属性,如下所示:
from lxml import etree # XML 文档字符串 xml_str = '''<root> <person id="1"> <name>pidancode.com</name> <age>18</age> </person> <person id="2"> <name>皮蛋编程</name> <age>20</age> </person> </root>''' # 将 XML 字符串转换为 Element 对象 root = etree.fromstring(xml_str) # 使用 XPath 选取 person 元素的 id 属性 ids = root.xpath('//person/@id') # 打印选取的属性值 print(ids)
输出结果为:
['1', '2']
在此代码中,XPath 中的 //@id
表示选取所有具有 id 属性的元素的 id 属性值。
相关文章