1

我想评估具有这种结构的 XML 文档:

<?xml version="1.0" encoding="UTF-8"?>
<Service_name version="3.3.0">
...

其中Service_name标签名称不是常量字符串,而version属性是必需的。

为此目的,这个 xpath 表达式:/*[1]/@version使用任何 xpath 处理器都可以很好地评估,但我不知道如何使用 Python ElementTree。

例如:

import xml.etree.ElementTree as ET
doc = ET.parse('sample.xml')
v = find('/*[1]/@version').text

提高KeyError: '@'

我尝试了类似的组合,但都没有奏效。

如何使用 ElementTree 从上面的示例文档中获取版本号?

4

2 回答 2

2

ElementTree uses its own path syntax, which is more or less a subset of xpath. If you want an ElementTree compatible library with full xpath support, try lxml.

于 2012-08-31T07:31:42.657 回答
0

虽然它不是 XPath 作为问题名称,但这似乎是一种方式:

doc.getroot().get('version')

于 2012-08-31T05:05:03.210 回答