Python:如何在iterparse方法读取和更新的情况下更新xml并保存到新的xml文件中?

2024-09-26 22:49:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以把它打印到控制台上,这是我想要的方式,但我似乎不知道如何保存它。示例中的XML没有更改。我使用了相当大的XML文件和iterparse函数,因为我认为这是至关重要的。在

我的代码:

def xmlTagMethod(xmlfile, changetag):
    tree = ET.ElementTree(file=xmlfile)
    root = tree.getroot()
    for event, elem in ET.iterparse(xmlfile):
        if event == 'end':
            if elem.tag == changetag:
                elem.set('maxwidth', '20')
        print elem.attrib
    tree.write("outPutTagData.xml")

Tags: 文件函数代码eventtree示例ifdef
1条回答
网友
1楼 · 发布于 2024-09-26 22:49:23

您没有对tree进行任何更改,因此当您编写它时,它将与以前相同。在

您只需修改返回的迭代器的eventelem元素等等(xmlfile),它是与tree完全独立的对象。在

对于更简单的方法,您可以尝试:

import xml.etree.ElementTree as ET
def xmlTagMethod(xmlfile, changetag):
    tree = ET.ElementTree(file=xmlfile)
    for e in tree.findall(changetag):
        e.set('maxwidth','20')
tree.write("outPutTagData.xml")

相关问题 更多 >

    热门问题