我在python中解析zenoss服务器上的XML文档时出错。我如何避免错误/修复错误?在
代码如下:import xml.etree.ElementTree as ET
tree = ET.parse('/root/Dropbox/Public/N8800Space.xml')
root = tree.getroot()
以下是XML文件:
^{pr2}$
输出如下:Traceback (most recent call last):
File "geckoBoard.py", line 2, in
tree = ET.parse('/root/Dropbox/Public/N8800Space.xml')
File "/usr/lib64/python2.6/xml/etree/ElementTree.py", line 862, in parse
tree.parse(source, parser)
File "/usr/lib64/python2.6/xml/etree/ElementTree.py", line 586, in parse
parser.feed(data)
File "/usr/lib64/python2.6/xml/etree/ElementTree.py", line 1245, in feed
self._parser.Parse(data, 0)
File "/usr/lib64/python2.6/xml/etree/ElementTree.py", line 1188, in _end
return self._target.end(self._fixname(tag))
File "/usr/lib64/python2.6/xml/etree/ElementTree.py", line 1096, in end
self._last.tag, tag)
AssertionError
如果我用etree操作,我会得到一个UnicodeEncodeError
代码:from lxml import etree
doc = etree.parse('/root/Dropbox/Public/N8800Space.xml')
root = doc.getroot()
输出:Traceback (most recent call last):
File "geckoBoard.py", line 1, in
from lxml import etree
File "lxml.etree.pyx", line 123, in init lxml.etree (src/lxml/lxml.etree.c:156336)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)