使用pugixml将节点分配给新父节点

时间:2014-03-12 13:56:29

标签: c++ pugixml

我使用pugixml来读取svg文档。

在我读完svg后,我有一个像这样的pugixml :: document(简化):

<svg>
    <rect .../>
    <text ...> text </text>
    <line .../>
</svg

阅读后我想将一些子节点包装成一个g元素,如下所示:

<svg>
    <g ...>
        <rect .../>
        <text ...> text </text>
    </g>
    <line .../>
</svg>

我怎样才能做到这一点,最好是通过修改pugixml :: document并不创建新文件?

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效:

pugi::xml_node g = svg.prepend_node("g");

g.append_copy(svg.child("rect"));
svg.remove_child("rect");

g.append_copy(svg.child("text"));
svg.remove_child("text");