vla*_*rad 4 python xml elementtree xml-parsing python-3.x
我有以下代码:
import xml.etree.ElementTree as ETree
parser = ETree.XMLParser(encoding="utf-8")
tree = ETree.fromstring("C:/Users/XXX/Downloads/test_xml.xml", parser=parser)
print(ETree.tostring(tree))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Traceback (most recent call last):
File "C:/Users/XXX/.PyCharmCE2018.1/config/scratches/scratch.py", line 6, in <module>
tree = ETree.fromstring("C:/Users/XXX/Downloads/test_xml.xml", parser=parser)
File "C:\Users\XXX\AppData\Local\Programs\Python\Python36-32\lib\xml\etree\ElementTree.py", line 1314, in XML
parser.feed(text)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 2
Run Code Online (Sandbox Code Playgroud)
我在 StackOverflow 上检查了此错误消息的所有问题,但没有任何帮助:
tree.set('SignalStrength',"100")来自此处);ETC。
然后我尝试导入另一个具有完全不同结构的 XML 文件 - 错误消息保持不变 - 甚至位置:line 1, column 2。
然后我尝试将文件名更改为不存在 - 并且错误消息保持不变!所以这不是文件的问题,而是其他的问题。我不明白什么。
PS这是我使用的 XML 文件之一:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Run Code Online (Sandbox Code Playgroud)
编辑: 可能我无法像在 fromstring() 函数中那样导入文件?
从文件解析时需要使用parse()而不是。fromstring()
parse()返回一个ElementTree实例并tostring()期望一个Element实例。
这段代码的工作原理:
import xml.etree.ElementTree as ETree
parser = ETree.XMLParser(encoding="utf-8")
tree = ETree.parse("test_xml.xml", parser=parser)
print(ETree.tostring(tree.getroot()))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20385 次 |
| 最近记录: |