我有一个类似于以下
的xml文件<siteinfo>
...
</siteinfo>
<page>
<title>...</title>
<revision>
...
<revision>
</page>
它没有root / enclosing节点,所以在运行我的程序时得到“文档末尾的额外内容”。在打开文件以使用libxml进行解析之后,有没有办法轻松地将这个根/封闭节点添加到解析树?
答案 0 :(得分:3)
如果无法更改源XML的结构,更简单的方法是创建一个字符串,如:
string xml = string("<root>") + file_contents + string("</root>");
然后你可以轻松地解析这个字符串。顺便说一下,既然您正在使用C ++,那么您应该尝试使用libxml ++。它是libxml的C ++包装器,非常好。