使用etree从xml标记中解析命名空间

时间:2016-03-02 14:17:58

标签: python xml elementtree

从xml标记解析命名空间的最佳方法是什么?例如:

Configuration conf = unmarshal (sampleXml);
if (conf.getColumns().size()==0 || conf.getColumns().size()>1 )
    alarm("invalid xml file - xml must have only one 'Columns' tag.");

使用xml.etree打印.tag将是:

<test xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
    <xsd:step name="testing"/>
</test>

我的目标是让标记为&#34; step&#34;我知道我可以删除{}中的所有内容,但我想知道是否有一个内置命令可以分隔命名空间和标记。如果没有内置命令,那么最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

似乎xmllxml中没有内置功能来实现您的目标。只需用正则表达式删除括号中的部分:

import re
re.sub('{.*}', '', tag)