【发布时间】:2016-04-02 19:00:54
【问题描述】:
在 libxml2 中克隆 XML 文档的已解析内存表示的最佳方法是什么?
“克隆”是指深度克隆,一种独立的数据结构,表示与原始数据相同的数据。 “最佳方式”是指实现复杂性和性能开销之间的合理折衷。因此,例如,序列化和重新解析将是几行代码,但会产生不必要的解析开销。另一方面,由于大小写不同,手动克隆每个数据结构的每个成员可能会导致数百行代码。
目前我最好的选择似乎是the xmlDOMWrapCloneNode function。但一方面,它的预期目的是克隆单个节点,因此需要特别注意构建一个兼容的文档并使用它来接收克隆。另一方面,如果必须克隆整个文档,则其中的一些复杂性可能是可以避免的。不过,查看代码说明了这里涉及的复杂性。复制和调整所有这些代码似乎工作量太大。
【问题讨论】: