【问题标题】:Appending elements into XMl file in Python在 Python 中将元素附加到 XML 文件中
【发布时间】:2022-10-15 04:04:44
【问题描述】:

我有以下 XML 文件:

<data>
   
    <Views>
        <view viewname="Request Info" Queryname="Gooo"/>
        <view viewname="To Do" Queryname="For later"/>
    </Views>
</data>

我正在尝试将新元素添加到“视图”中,因此最终它将如下所示:

    <Views>
        <view viewname="Request Info" Queryname="Gooo"/>
        <view viewname="To Do" Queryname="For later"/>
       <view viewname="Request Info222" Queryname="Gooo"/>
    </Views>
</data>

我的代码如下所示:

从 xml.etree 导入 ElementTree 作为 ET

tree = ET.parse('C:\Python_Projects\Jira_Rest\hest.xml')
root = tree.getroot()

for item in root.findall('Views'):
   
    new = ET.SubElement(item, 'View')
    new.text = '<view viewname="Request Info222" Queryname="Gooo"/>'

没有错误,但文件未使用新数据更新。

【问题讨论】:

标签: python xml append


【解决方案1】:

见下文

import xml.etree.ElementTree as ET

xml = '''<data>
    <Views>
        <view viewname="Request Info" Queryname="Gooo"/>
        <view viewname="To Do" Queryname="For later"/>
    </Views>
</data>'''

root = ET.fromstring(xml)
views = root.find('.//Views')
new_view = ET.Element('view', attrib={'viewname': 'Request Info222', 'Queryname': 'Gooo'})
views.append(new_view)
ET.dump(root)

输出

<data>
   <Views>
      <view viewname="Request Info" Queryname="Gooo" />
      <view viewname="To Do" Queryname="For later" />
      <view viewname="Request Info222" Queryname="Gooo" />
   </Views>
</data>

【讨论】:

    猜你喜欢
    • 2016-10-05
    • 1970-01-01
    • 2011-10-05
    • 2021-04-30
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 2018-04-28
    • 2022-01-21
    相关资源
    最近更新 更多