Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 元素树语法错误(格式不正确,标记无效)_Python_Xml_Python 3.x_Python 2.x_Elementtree - Fatal编程技术网

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

我试图使用元素树模块,但最终出现了一些我无法理解的错误

我这里的代码是基于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.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