获取根元素时,ElementTree会附加额外信息

时间:2018-06-01 10:40:39

标签: python xml xml-parsing elementtree

我有一个如下所示的xml

    <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE dtbook PUBLIC "-//INFO//INFO info 2005-3//EN" "http://url">
        <dtbook xmlns="http://www.daisy.org/z3986/2005/dtbook/" version="2005-3" xml:lang="ml">
          <head>....
        </dtbook>

我这样打开文件,

with open("filename.xml") as f:
    tree = ET.parse(f)
root = tree.getroot()

当我尝试获取根标签时,我明白了,

print(root.tag)
{http://www.daisy.org/z3986/2005/dtbook/}dtbook

如果我从根标签中删除所有属性,即dtbook,我得到正确的输出,即dtbook

print(root.tag)
dtbook

我无法删除属性。有没有办法让这个工作没有删除属性??

1 个答案:

答案 0 :(得分:1)

这称为命名空间,应该在前面。您可以通过将字符串拆分为{}

来删除命名空间