查找和替换XML中的值

时间:2016-06-29 03:12:46

标签: python xml replace find

Error and code pictured

我是一名资深编码员,但我正在尝试编写一个能够快速替换XML中所有值的代码。我想用统一的值替换'linear'和'angular'的每个实例。我将代码和XML保存到我的桌面,然后运行代码,但我想出了上图所示的错误。我的代码也在截图中。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我还建议您在问题下面发布代码和错误消息,并修改代码以提供一个有效的示例!

尽管如此,我认为你错误地将 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的文档,您会发现第一行中提到的那些方法的不同。