gpt4 book ai didi

c++ - Xerces:如何合并重复节点?

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

我的问题是:

如果我有以下 XML:

<root>
<alpha one="start">
<in>1</in>
</alpha>
</root>

然后我将添加以下路径:

<root><alpha one="start"><out>2</out></alpha></root>

结果

<root>
<alpha one="start">
<in>1</in>
</alpha>
</root>
<root>
<alpha one="start">
<out>2</out>
</alpha>
</root>

我希望能够将它转换成这样:

<root>
<alpha one="start">
<in>1</in>
<out>2</out>
</alpha>
</root>

除了自己实现(今天不想重新发明轮子),Xerces(2.8,C++)中有特定的方法吗?

如果是这样,节点合并在 DOMDocuments 生命周期的哪一点完成?在每次插入?在编写文档时,明确要求?

谢谢。

最佳答案

如果您使用 xalan,则可以使用 xpath 查找元素并直接插入到正确的元素中。

以下代码可能会很慢,但会返回属性“one”设置为“start”的所有“根”元素。

selectNodes("//root[@one="start"]")

最好使用完整路径

selectNodes("/abc/def/.../root[@one="start"]")

或者如果你已经有父元素工作相对

selectNodes("./root[@one="start"]")

我想搞定基本概念xpath on wikipedia .

关于c++ - Xerces:如何合并重复节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/961565/

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