Python 元素树语法错误(格式不正确,标记无效)
我试图使用元素树模块,但最终出现了一些我无法理解的错误 我这里的代码是基于Python文档本身的,在尝试运行脚本时,不知何故它给了我一个错误Python 元素树语法错误(格式不正确,标记无效),python,xml,python-3.x,python-2.x,elementtree,Python,Xml,Python 3.x,Python 2.x,Elementtree,我试图使用元素树模块,但最终出现了一些我无法理解的错误 我这里的代码是基于Python文档本身的,在尝试运行脚本时,不知何故它给了我一个错误 try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET file_name_xml = "curl-result.xml" tree = ET.parse(file_name_xml) tree.getro
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
file_name_xml = "curl-result.xml"
tree = ET.parse(file_name_xml)
tree.getroot()
当我运行此代码时:
./python2.6 modify_xml_file.py
然后,它给了我这个错误
Traceback (most recent call last):
File "modify_xml_file.py", line 8, in <module>
tree = ET.parse(file_name_xml)
File "<string>", line 45, in parse
File "<string>", line 32, in parse
SyntaxError: not well-formed (invalid token): line 1, column 4
回溯(最近一次呼叫最后一次):
文件“modify_xml_File.py”,第8行,在
tree=ET.parse(文件名xml)
文件“”,第45行,正在解析中
解析中第32行的文件“”
SyntaxError:格式不正确(无效标记):第1行第4列
Python 2.6中包含的cElementTree
版本对格式错误的XML抛出了SyntaxError
异常:
以open('bad.xml','w')作为badxml的>>:
... Python2.6中包含的cElementTree
版本对格式错误的XML抛出SyntaxError
异常:
以open('bad.xml','w')作为badxml的>>:
... badxml='删除xml顶部curl结果的附加数据后,我设法运行了代码。谢谢,但是当然,我以前很确定代码没有出现错误,因为我试着使用。无论如何,谢谢你。我不知道为什么这个问题应该被否决。我试着问一个我以前做过一些研究的问题,也许是我问了一个不恰当的问题。再次感谢。:)@yunaranyancat:尽量使你的问题尽可能完整;包括您的XML(以及您如何生成它)将使人们更容易回答,因为我们可以验证这个问题。这被称为一个。创建一个合适的MCVE(在这里你可以测试这些步骤,看看问题是否仍然存在)通常已经可以找到一个解决方案。感谢注意,以后将使用此指南。@yunaranyancat:我并不是说这就是它被否决的原因(不幸的是,我们还不能读懂思想),但这可能是一个原因。没关系,至少你给了我一些好主意,这样我就可以把提问的方式联系起来并加以改进。在删除xml顶部curl结果的附加数据后,我成功地运行了代码。谢谢,但是当然,我以前很确定代码没有出现错误,因为我试着使用。无论如何,谢谢你。我不知道为什么这个问题应该被否决。我试着问一个我以前做过一些研究的问题,也许是我问了一个不恰当的问题。再次感谢。:)@yunaranyancat:尽量使你的问题尽可能完整;包括您的XML(以及您如何生成它)将使人们更容易回答,因为我们可以验证这个问题。这被称为一个。创建一个合适的MCVE(在这里你可以测试这些步骤,看看问题是否仍然存在)通常已经可以找到一个解决方案。感谢注意,以后将使用此指南。@yunaranyancat:我并不是说这就是它被否决的原因(不幸的是,我们还不能读懂思想),但这可能是一个原因。没关系,至少你给了我一些好主意,这样我就可以用我的提问方式进行交流和改进。。
>>> with open('bad.xml', 'w') as badxml:
... badxml = '<foobar\n'
...
>>> import xml.etree.cElementTree as ET
>>> tree = ET.parse('bad.xml')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 45, in parse
File "<string>", line 32, in parse
SyntaxError: no element found: line 1, column 0
>>> import xml.etree.ElementTree as ET
>>> tree = ET.parse('bad.xml')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/mjpieters/Development/Library/buildout.python/parts/opt/lib/python2.6/xml/etree/ElementTree.py", line 862, in parse
tree.parse(source, parser)
File "/Users/mjpieters/Development/Library/buildout.python/parts/opt/lib/python2.6/xml/etree/ElementTree.py", line 587, in parse
self._root = parser.close()
File "/Users/mjpieters/Development/Library/buildout.python/parts/opt/lib/python2.6/xml/etree/ElementTree.py", line 1254, in close
self._parser.Parse("", 1) # end of data
xml.parsers.expat.ExpatError: no element found: line 1, column 0