gpt4 book ai didi

c - 将大量节点附加到 xml 树

转载 作者:行者123 更新时间:2023-11-30 15:12:27 24 4
gpt4 key购买 nike

我正在使用libxml通过 C,处理 xml 文件的创建和解析。直到最近,一切都进展顺利,但出现了这样的情况:一棵树有一个子节点,我们称之为 S,有大约 200,000 个子节点。这个案例运行速度出奇的慢,我怀​​疑这个功能:

xmlNewChild(/**/);

我用它来构建树,必须迭代 S 的每个子节点才能再添加一个子节点。由于也接受提示(指向最后添加的函数的指针)的函数似乎不存在,是否有更好的方法来构建树(也许是批量构建方法)?如果这些数字微不足道并且我应该在其他地方寻找缺陷,请告诉我。

最佳答案

是的,您可能希望结合使用 libxml 的 xmlReader 和 xmlWriter API,而不是使用 xmlTree 将整个 XML 保留在内存中。它们都是流式传输的,因此不必将整个文档保留在内存中,并且不会出现任何基于元素数量的缩放问题。

可以在此处找到 xmlReader 和 xmlWriter 的示例:

http://www.xmlsoft.org/examples/index.html

关于c - 将大量节点附加到 xml 树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35087125/

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