【发布时间】:2016-10-31 13:54:06
【问题描述】:
我是一名业余编码员,但我正在尝试编写一个可以快速替换 XML 中所有值的代码。我想用统一的值替换“线性”和“角度”的每个实例。我将代码和 XML 都保存到了我的桌面,并运行了代码,但我遇到了上图所示的错误。我的代码也在屏幕截图中。在此先感谢您的帮助!
【问题讨论】:
-
请将错误和代码作为文本复制并粘贴到问题本身,而不是链接到屏幕截图。
我是一名业余编码员,但我正在尝试编写一个可以快速替换 XML 中所有值的代码。我想用统一的值替换“线性”和“角度”的每个实例。我将代码和 XML 都保存到了我的桌面,并运行了代码,但我遇到了上图所示的错误。我的代码也在屏幕截图中。在此先感谢您的帮助!
【问题讨论】:
我还建议在您的问题下方发布代码和错误消息,并修改您的代码以给出一个工作示例!
不过,我认为您将 ElementTree.parse 方法误认为是 ElementTree.fromstring。第一个解析给定函数文件名的 XML 文件,后一个解析包含 XML 的给定字符串。显示差异:
MyFile.xml:
<body>
<linear>10</linear>
<angular>0.314159</angular>
</body>
--------------------------------
from xml.etree import ElementTree
file_name = r'MyFile.xml'
et_parse = ElementTree.parse(file_name).get_root()
with open(file_name, 'r') as fid:
file_content = fid.read()
et_fromstring = ElementTree.fromstring(file_content)
et_parse == et_fromstring
如果您仔细阅读xml.etree.ElementTree 的文档,您会发现第一行中提到的那些方法的区别。
【讨论】: