Linux C,关于Libxml2中,怎么比较两个不同的xml文档,并合并。求教

Linux C,关于Libxml2中,如何比较两个不同的xml文档,并合并。求教。
应为工作原因,使用到Libxml2库,
经过几天学习,Libxml2的基本功能,解析,创建,查找,修改 文档等一些功能我已经会使用了
并写了一个遍历函数,用递归的。
昨天遇到新问题,要求把数个不同的xml文档合并到一个xml文档内。
比如
第一个xml文档:
<TESTNODE1>
  <A>1</A>
  <B>2</B>
</TESTNODE1>
第二个xml文档
<TESTNODE1>
  <A>1</A>
  <C>3</C>
  <D>4</D>
</TESTNODE1>
合并后的xml文档
<TESTNODE1>
  <A>1</A>
  <B>2</B>
  <C>3</C>
  <D>4</D>
</TESTNODE1>
实际文档比较复杂,包含比如属性节点,文本节点,空节点等等等等
初拟用2个文档比较,生成新的文档再和第三个文档比较,以此类推
想了一晚上,也没找到2个xml文档比较或合并的合适办法,查找Libxml2库API手册,找到一个xmlTextMerge,查了源代码,是用节点来比较,可以实现部分功能,达不到我要的效果。

小弟进入C开发这个行业不久,基础不好,希望各位大侠指点迷津。
多谢了。
并祝各位新年快乐。


------解决方案--------------------
合并要看需求是什么
需求确定,也有libxml2库的支持,就容易多了
也就是读取节点,比较节点,增加或不增加节点,最后写到新文件里