Python解析XML错误

时间:2018-06-19 12:13:55

标签: python xml-parsing lxml

我有以下代码段。

import lxml.etree as ET

coding = 'utf-8'
parser = ET.XMLParser(encoding=coding, recover=True)
tree = ET.parse(filepath, parser=parser)

print tree
treeString = ET.tostring(tree)
print treeString 

field = convertNodetoString(tree.find('.//Field1/field11'))

convertNodetoString函数仅返回该字段的字符串。

XML文件是

<?xml version="1.0" encoding="UTF-8"?>
<data>
  <Field0>
    <field00>abc</field00>
    <field01>
    </field01>
  </Field0>
  <Field1>
    <field11>def</field11>
  </Field1>
</data>

我尝试使用总共5个XML文件,成功解析了3个,但是有2个错误

ElementTree not initialized, missing root

所有5个XML文件都是由同一程序生成的,除了实际值外,它们看起来很相似。

我的print tree的输出是<lxml.etree._ElementTree object at 0x37747e8>,而print treestring的输出是None

我不明白为什么解析适用于3个文件而不适用于其他2个文件,因为它们都很相似。

0 个答案:

没有答案