gpt4 book ai didi

python - 在 python 中迭代写入 XML 节点

转载 作者:数据小太阳 更新时间:2023-10-29 02:22:51 25 4
gpt4 key购买 nike

有多种读取 XML 的方法,包括一次性 (DOM) 和一次一位 (SAX)。我使用 SAX 或 lxml 来迭代读取大型 XML 文件(例如,维基百科转储是 6.5GB 压缩)。

然而,在对该 XML 文件进行一些迭代处理(在 python 中使用 ElementTree)之后,我想将(新的)XML 数据写出到另一个文件。

是否有任何库可以迭代地写出 XML 数据?我可以创建 XML 树,然后将其写出,但如果没有大量 ram,这是不可能的。有没有办法将 XML 树迭代地写入文件?一次一位?

我知道我可以用 print "<%s>" % tag_name 自己生成 XML等等,但这似乎有点……hacky

最佳答案

Fredrik Lundh 的 elementtree.SimpleXMLWriter将让您增量地写出 XML。这是模块中嵌入的演示代码:

from elementtree.SimpleXMLWriter import XMLWriter
import sys

w = XMLWriter(sys.stdout)

html = w.start("html")

w.start("head")
w.element("title", "my document")
w.element("meta", name="generator", value="my application 1.0")
w.end()

w.start("body")
w.element("h1", "this is a heading")
w.element("p", "this is a paragraph")

w.start("p")
w.data("this is ")
w.element("b", "bold")
w.data(" and ")
w.element("i", "italic")
w.data(".")
w.end("p")

w.close(html)

关于python - 在 python 中迭代写入 XML 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5377980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com