2009-07-24 70 views
1

我有一个XML文件,如下所示libxml for C++:如何将根节点添加到XML树?

<siteinfo> 
... 
</siteinfo> 
<page> 
    <title>...</title> 
    <revision> 
    ... 
    <revision> 
</page> 

它没有根/封闭节点,所以我得到了“在文件末尾额外的内容”上运行我的程序。在使用libxml打开文件进行解析之后,是否可以轻松地将此根/封闭节点添加到解析树中?

+0

是否可以更改XML编写器?我认为让它符合XML是最好的。 – 2009-07-24 07:17:30

回答

3

如果你不能改变源XML的结构,一个简单的方法是创建像绳子:

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

然后你就可以轻松地解析这个字符串。顺便说一下,因为你使用的是C++,你应该试试libxml ++。它是libxml的C++包装器,非常好。

+0

谢谢。所以可以解析一个字符串而不是文件?如果是这样,你的答案正是我所需要的:-) – 2009-07-24 16:03:37