如何使用 xml.etree.ElementTree 在 xml 文件上添加子子项

thclpr

我正在关注有关如何修改现有 xml 文件以在记录子项中添加子子项值官方文档

原始xml文件:

<Values version="2.0">
  <value name="system_type">osx</value>
  <record name="service">
    <value name="threads">1</value>
  </record>
</Values>

当前代码:

from xml.etree import ElementTree as ET

tree = ET.parse('data.xml')


values = tree.getroot()
list_languages = values.getchildren()

processing = ET.Element('value')
processing.attrib['name'] = 'cpu_use_limit'
processing.text = '20'

values.append(processing)

tree.write('output.xml')

电流输出:

<Values version="2.0">
      <value name="system_type">osx</value>
      <record  name="service">
        <value name="threads">1</value>
      </record>
      <value name="cpu_use_limit">20</value>
</Values>

所需的 xml 文件:

<Values version="2.0">
      <value name="system_type">osx</value>
      <record  name="service">
        <value name="threads">1</value>
        <value name="cpu_use_limit">20</value>
      </record>  
</Values>
克里斯蒂·法蒂

我想从一个评论开始:输入XML似乎是错误的(语义上),因为您有一个根节点Values,它具有子 记录(似乎不属于这里)。

但是,考虑到XML是正确的,那么您不想将新创建的节点直接添加到Values节点下,而是添加到record(它是Values的子节点)下。要找出该节点,请使用[Python 3]: findall ( match, namespaces=None )

代码.py

from xml.etree import ElementTree as ET


if __name__ == "__main__":
    tree = ET.parse("data.xml")

    values = tree.getroot()
    list_languages = values.getchildren()

    processing = ET.Element("value")
    processing.attrib["name"] = "cpu_use_limit"
    processing.text = "20"

    relevant_nodes = values.findall("record")
    for relevant_node in relevant_nodes:
        relevant_node.append(processing)

    tree.write("output.xml", encoding="utf-8", xml_declaration=True)

运行代码后,

输出.xml

<?xml version='1.0' encoding='utf-8'?>
<Values version="2.0">
  <value name="system_type">osx</value>
  <record name="service">
    <value name="threads">1</value>
  <value name="cpu_use_limit">20</value></record>
</Values>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用xml.etree.ElementTree XML解析子元素

来自分类Dev

如何使用 xml.etree.ElementTree 解析 XML 文件,其子项中有 HTML 内容

来自分类Dev

使用xml.etree.ElementTree搜索XML元素树的属性

来自分类Dev

使用 Python xml.etree.ElementTree 遍历 XML 树的问题

来自分类Dev

xml.etree.ElementTree getElementByID()?

来自分类Dev

xml.etree.ElementTree findall

来自分类Dev

xml.etree.ElementTree findall

来自分类Dev

如何使用xml.etree.ElementTree访问标签之间的文本

来自分类Dev

如何使用xml.etree.ElementTree访问标签之间的文本

来自分类Dev

使用xml.etree.ElementTree获取文件中的XML标签列表

来自分类Dev

python xml.etree.ElementTree追加到子元素

来自分类Dev

xml.etree.ElementTree iterparse()仍在使用大量内存?

来自分类Dev

使用html5lib和xml.etree.ElementTree

来自分类Dev

无法使用xml.etree.ElementTree解析html

来自分类Dev

xml.etree.ElementTree >> Python >>如何访问子元素并进行断言

来自分类Dev

使用xml.etree.ElementTree获取子节点的所有实例

来自分类Dev

使用 xml.etree.ElementTree 获取节点的所有子节点

来自分类Dev

xml.etree.ElementTree-麻烦设置xmlns ='...'

来自分类Dev

Python xml.etree.ElementTree 问题

来自分类Dev

使用ElementTree修改XML文件

来自分类Dev

使用ElementTree修改XML文件

来自分类Dev

使用xml.etree.ElementTree解析XML时获取空列表作为属性

来自分类Dev

从Python中的XML数据创建字典(使用xml.etree.ElementTree)

来自分类Dev

使用xml.etree.ElementTree的Python xml解析不起作用

来自分类Dev

在Python中,如何使用xml.etree.ElementTree创建数据框?

来自分类Dev

如何使用xml.etree.ElementTree Python格式化属性,前缀和标签

来自分类Dev

如何使用python(xml.etree.ElementTree)解决下一个迭代?

来自分类Dev

如何使用 python 从soap响应中的多个命名空间获取数据:xml.etree.ElementTree

来自分类Dev

python(xml.etree.ElementTree)中的XML解析

Related 相关文章

  1. 1

    使用xml.etree.ElementTree XML解析子元素

  2. 2

    如何使用 xml.etree.ElementTree 解析 XML 文件,其子项中有 HTML 内容

  3. 3

    使用xml.etree.ElementTree搜索XML元素树的属性

  4. 4

    使用 Python xml.etree.ElementTree 遍历 XML 树的问题

  5. 5

    xml.etree.ElementTree getElementByID()?

  6. 6

    xml.etree.ElementTree findall

  7. 7

    xml.etree.ElementTree findall

  8. 8

    如何使用xml.etree.ElementTree访问标签之间的文本

  9. 9

    如何使用xml.etree.ElementTree访问标签之间的文本

  10. 10

    使用xml.etree.ElementTree获取文件中的XML标签列表

  11. 11

    python xml.etree.ElementTree追加到子元素

  12. 12

    xml.etree.ElementTree iterparse()仍在使用大量内存?

  13. 13

    使用html5lib和xml.etree.ElementTree

  14. 14

    无法使用xml.etree.ElementTree解析html

  15. 15

    xml.etree.ElementTree >> Python >>如何访问子元素并进行断言

  16. 16

    使用xml.etree.ElementTree获取子节点的所有实例

  17. 17

    使用 xml.etree.ElementTree 获取节点的所有子节点

  18. 18

    xml.etree.ElementTree-麻烦设置xmlns ='...'

  19. 19

    Python xml.etree.ElementTree 问题

  20. 20

    使用ElementTree修改XML文件

  21. 21

    使用ElementTree修改XML文件

  22. 22

    使用xml.etree.ElementTree解析XML时获取空列表作为属性

  23. 23

    从Python中的XML数据创建字典(使用xml.etree.ElementTree)

  24. 24

    使用xml.etree.ElementTree的Python xml解析不起作用

  25. 25

    在Python中,如何使用xml.etree.ElementTree创建数据框?

  26. 26

    如何使用xml.etree.ElementTree Python格式化属性,前缀和标签

  27. 27

    如何使用python(xml.etree.ElementTree)解决下一个迭代?

  28. 28

    如何使用 python 从soap响应中的多个命名空间获取数据:xml.etree.ElementTree

  29. 29

    python(xml.etree.ElementTree)中的XML解析

热门标签

归档