比如如下是一个XML文件,p为根结点
<p>
<one>1</one>
<two>2</two>
<three>3</three>
</p>
我想在根节点之外再添加个标签如下:
<main>
<p>
<one>1</one>
<two>2</two>
<three>3</three>
</p>
</main>
不知该用什么方法。还有就是有一个子结构如下
<p>
<a1>
<one>1</one>
<two>2</two>
<three>3</three>
</a1>
<a2>
<one>1</one>
<two>2</two>
<three>3</three>
</a2>
......
</p>
向去掉最外层的
<
p>标签,而里面的内容保留(我找的示例删除节点,里面的子节点也都没有了)。
这两种情况,该如何实现呢?
是不是有什么高级的用法我忽略或是还没看到,还是哪里有问题,请前辈指教。先谢谢啦
PS:第一个问题,我尝试先新建一个新的xml,先把把
要解决这个问题,需要花点时间到官网好好学习一下
libxml2
的源代码,熟悉节点的遍历,插入和删除操作。主要就是
xmlNewNode
创建节点,xmlAddChild
增加子节点,xmlUnlinkNode
和xmlFreeNode
删除节点. 下面是解决这个问题的完整代码:我测试的结果: