libxml for C ++:如何将根节点添加到XML树?

时间:2009-07-24 06:58:37

标签: c++ xml parsing libxml2

我有一个类似于以下

的xml文件
<siteinfo>
...
</siteinfo>
<page>
   <title>...</title>
   <revision>
   ...
   <revision>
</page>

它没有root / enclosing节点,所以在运行我的程序时得到“文档末尾的额外内容”。在打开文件以使用libxml进行解析之后,有没有办法轻松地将这个根/封闭节点添加到解析树?

1 个答案:

答案 0 :(得分:3)

如果无法更改源XML的结构,更简单的方法是创建一个字符串,如:

string xml = string("<root>") + file_contents + string("</root>");

然后你可以轻松地解析这个字符串。顺便说一下,既然您正在使用C ++,那么您应该尝试使用libxml ++。它是libxml的C ++包装器,非常好。