我在做一些简单的事情时遇到了很多麻烦,就像只是从XML文件中获取Element的标签一样。这是元素,其中删除了敏感信息:
<FIXML xmlns="AAA/AAAAA-5-0-AAA" v="AAA.5.AAAA" xv="111" cv="AAA" s="2013-10-14">
我试图通过以下简单的代码行获取该元素的标签:
tag1 = root.tag
由于某种原因,它的行为不符合预期。它给了我这个价值:
{AAA/AAAAA-5-0-AAA}FIXML
它将第一个属性的值附加到它,作为花括号中的前缀?为什么要这样做呢?我只希望它返回FIXML,而没有别的,根据这里的文档,这是我理解的功能。有任何想法吗?
Python版本:3.7
用户mzjn在这里是正确的,我没有意识到还返回了名称空间。我解决此问题的方法是剥离名称空间:
# Strip namespace off of root tag
if '}' in tag:
tag = tag.split('}', 1)[1]
通过在结束标记之后剥离所有内容,从而获得了预期的输出。显然,这假定标签或名称空间本身没有}字符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句