使用python将XML文件中的值替换为向量的值

使用python将XML文件中的值替换为向量的值,python,xml,parsing,lxml,elementtree,Python,Xml,Parsing,Lxml,Elementtree,我有一个XML文件,需要使用Python代码将“type”后面的值替换为向量v=[7,8,9]中的值。我需要代码来识别单词“type”,然后更改下一行中参数的值。值2应替换为v[0],值3应替换为v[1],依此类推。有没有一种方法可以通过ElementTree或readlines实现这一点 x 类型 2. 5. Y 类型 3. 2. Z 类型 7. 9 试着这样做: from lxml import etree doc = etree.fromstring(model) v = [7, 8,

我有一个XML文件,需要使用Python代码将“type”后面的值替换为向量
v=[7,8,9]
中的值。我需要代码来识别单词“type”,然后更改下一行中参数的值。值2应替换为
v[0]
,值3应替换为
v[1]
,依此类推。有没有一种方法可以通过ElementTree或readlines实现这一点


x
类型
2.
5.
Y
类型
3.
2.
Z
类型
7.
9
试着这样做:

from lxml import etree
doc = etree.fromstring(model)
v = [7, 8, 9]
targets = doc.xpath('//Model/Function/param[.="type"]')
for target in targets:
    chn = target.xpath('following-sibling::*[1]')[0]
    chn.text = str(v.pop(0))
print(etree.tostring(doc).decode())
输出:

<Model>
    <Function>
      <param>x</param>
      <param>type</param>
      <param>7</param>
      <param>5</param>
    </Function>
    <Function>
      <param>y</param>
      <param>type</param>
      <param>8</param>
      <param>2</param>
    </Function>
    <Function>
      <param>z</param>
      <param>type</param>
      <param>9</param>
      <param>9</param>
     </Function>
</Model>

x
类型
7.
5.
Y
类型
8.
2.
Z
类型
9
9

这里没有答案吗?