gpt4 book ai didi

克隆 libxml2 文档

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

在 libxml2 中克隆 XML 文档的已解析内存表示的最佳方法是什么?

“克隆”是指深度克隆,一种独立的数据结构,代表与原始数据相同的数据。 “最佳方式”是指实现复杂性和性能开销之间的合理折衷。因此,例如,序列化和重新解析将是几行代码,但会产生不必要的解析开销。另一方面,由于所有大小写的区别,手动克隆每个数据结构的每个成员可能会导致数百行代码。

目前我最好的选择似乎是 the xmlDOMWrapCloneNode function .但一方面,它的预期目的是克隆单个节点,因此需要格外小心来构建兼容文档并使用它来接收克隆。另一方面,如果必须克隆整个文档,其中的一些复杂性可能是可以避免的。不过,查看代码可以说明这里涉及的复杂性。复制和改编所有这些代码似乎工作量太大。

最佳答案

您可能正在寻找 xmlCopyDoc :

xmlDocPtr xmlCopyDoc (xmlDocPtr doc, 
int recursive)

Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.

doc: the document
recursive: if not zero do a recursive copy.
Returns: a new #xmlDocPtr, or NULL in case of error.

关于克隆 libxml2 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34501813/

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