【发布时间】:2015-04-10 15:17:47
【问题描述】:
我正在尝试使用命名空间解析 XML, XML 看起来像
<DATA xmlns="http://example.com/nspace/DATA/1.0" xmlns:UP="http://example.com/nspace/UP/1.1" col_time_us="14245034321452862">
<UP:IN>...</UP:IN>
<UP:ROW>
<sampleField>...</sampleField>
</UP:ROW>
<UP:ROW>
<sampleField>...</sampleField>
</UP:ROW>
.
.
.
</DATA>
当我使用以下代码解析 XML 时
tree=ET.parse(fileToParse);
root=tree.getRoot();
namespaces = {'UP':'http://example.com/nspace/DATA/1.0'}
for data in root.findAll('UP:ROW',namespaces):
hour+=1
我收到以下错误:
AttributeError: 'Element' object has no attribute 'findAll'
当我尝试遍历 root 的子节点并打印标签时,我得到 {http://example.com/nspace/DATA/1.0}ROW 作为标签,而不仅仅是 ROWS。
我想找到 ROW 元素并提取 sampleField 标记的值。有人可以指导我做错什么吗?
【问题讨论】:
标签: python xml namespaces attributeerror findall