TinyXML2:替换节点函数
TinyXML2: Replace Node function?
我很难使用 TinyXML2 (https://github.com/leethomason/tinyxml2) 编写替换给定节点的 C/C++ 方法,例如:
<doc>
<replace>Foo</replace>
</doc>
...使用另一个节点:
<replacement>Bar</replacement>
...因此,结果是:
<文档>
<replacement>Bar</replacement>
</doc>
文档>
但是,要替换的节点可能会出现多次,我想保持顺序,以防我用其他东西替换第二个节点。
这实际上应该是直截了当的,但我因无休止的递归而失败。
是否有关于如何做到这一点的例子?任何帮助将不胜感激。
你有示例代码吗?
您可以尝试调用tinyxml2::XMLNode::InsertAfterChild
以插入<replacement>
然后删除<replace>
。
这个答案似乎也相关:更新微小 Xml 元素中的数据
我建议使用访问者模式将源 xml 复制到新文档中,随时进行替换。就地替换很可能会导致链中断和您正在经历的无限循环。
您可以在此处找到使用 vistor 模式进行替换的示例(在元素属性和文本中,但原理相同)。请参阅底部附近的 xcopy 函数和相关代码。
相关文章:
- 为什么我的删除节点函数实际上没有删除节点?
- 为什么我们要为avl树实现返回一个指向节点的指针,而不是void函数
- 为什么我的双向链表删除函数会删除多个节点?
- 编写一个函数来删除单链表中的节点(尾部除外),仅授予对该节点的访问权限
- 为什么提升图库的 read_graphviz() 函数会改变节点的索引
- C++二叉搜索树模板从函数返回节点
- 类成员函数无法访问同一类的私有结构节点?
- 节点插件 API 将数组作为函数参数传递
- 修改链表主函数代码,用户将在其中输入节点的索引和数据以及正确的消息
- 使用函数引用指向节点的指针删除链表中的节点?
- 函数无法识别我在C++传递节点指针向量?
- 为什么将函数的返回类型从结构节点*更改为void后,链表的元素没有显示create_ll和显示?
- 返回二叉搜索树特定级别的节点数的函数
- 递归函数,用于计算 BST 中具有两个子节点的节点数
- 为什么 STL 函数使用节点的颜色来计算 std::map 节点前身
- C++中是否有一个函数可以为您获取指向该节点的所有指针的地址空间
- 使用递归时不将节点写入树的函数
- 从C++回调函数发出节点.js事件
- 具有 4 个指针的节点的递归插入函数返回 null
- 当使用RecursiveASTVisitor访问Clang AST时,确定Stmt的父函数节点