XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。XML文档具有树状结构,可以通过XPath(XML Path Language)进行查询。XPath是一种在XML文档中查找信息的语言,可以用来选取节点、测试节点的属性以及计算表达式的值。
假设我们有以下XML文档:
<root>
<person id="1">
<name>John Doe</name>
<address>
<city>New York</city>
<zip>10001</zip>
</address>
</person>
<person id="2">
<name>Jane Smith</name>
<address>
<city>Los Angeles</city>
<zip>90001</zip>
</address>
</person>
</root>
我们可以使用以下XPath表达式:
//person/address/city | //person/address/zip
这个表达式使用了|
运算符,表示选择两个路径的并集,即选择所有<city>
和<zip>
节点。
import xml.etree.ElementTree as ET
xml_data = '''
<root>
<person id="1">
<name>John Doe</name>
<address>
<city>New York</city>
<zip>10001</zip>
</address>
</person>
<person id="2">
<name>Jane Smith</name>
<address>
<city>Los Angeles</city>
<zip>90001</zip>
</address>
</person>
</root>
'''
tree = ET.fromstring(xml_data)
cities_zips = tree.xpath("//person/address/city | //person/address/zip")
for item in cities_zips:
print(item.text)
通过上述示例,我们可以看到如何使用XPath查询嵌套路径中的多个值。XPath的灵活性和简洁性使其成为处理XML数据的强大工具。
Elastic 中国开发者大会
DB TALK 技术分享会
DB TALK 技术分享会
Elastic Meetup
云+社区开发者大会 长沙站
云+社区技术沙龙[第12期]
Techo Hub腾讯开发者技术沙龙城市站
领取专属 10元无门槛券
手把手带您无忧上云