我正在寻找一种优雅的解决方案来使用 pugixml(1.6 版)替换节点 pcdata。例如,遍历一个节点集并将子值更新为某个值。
pugi::xpath_node_set nodes = document.select_nodes("//a");
for (auto it = nodes.begin(); it != nodes.end(); it++)
{
std::cout << "before : " << it->node().child_value() << std::endl;
// SOME REPLACE GOES HERE
std::cout << "after : " << it->node().child_value() << std::endl;
}
我用过:
it->node().append_child(pugi::node_pcdata).set_value("foo");
但顾名思义,它只是附加数据,但我找不到任何功能:
it->node().remove_child(pugi::node_pcdata);
另一个注意事项是节点上的属性很重要,应该保持不变。
谢谢你的帮助。