使用XPath可以按照属性进行筛选,并返回不同的值。下面是一个代码示例:
import lxml.etree as ET
# XML示例
xml_str = '''
- Apple
- Banana
- Orange
- Apple
- Grape
'''
# 将XML字符串解析为Element对象
root = ET.fromstring(xml_str)
# 使用XPath按属性筛选并返回不同的值
values = root.xpath('distinct-values(/root/item/@id)')
# 打印结果
print(values)
输出结果:
['1', '2', '3', '4', '5']
上述代码中,首先引入了lxml.etree
模块,并定义了一个XML示例字符串。然后,使用ET.fromstring
函数将XML字符串解析为Element对象。接下来,使用XPath表达式distinct-values(/root/item/@id)
从根节点开始,按照属性id
进行筛选,并返回不同的属性值。最后,将返回的结果打印输出。
注意,使用distinct-values
函数可以确保返回的属性值不重复。