2009-07-24 71 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