2014-01-27 101 views
1

我想在使用libxml2的函數xmlSaveFile時刪除xml聲明。我怎麼能做到這一點? 有沒有什麼宏可以做,或者我可以使用另一個函數(我嘗試xmlSaveToFilename從xmlsave.h,但我不知道它是如何工作的)?在libxml2中刪除xml聲明

+0

爲什麼?它不應該有任何傷害... – keshlam

回答

3

像這樣的東西應該工作:

xmlSaveCtxtPtr saveCtxt = xmlSaveToFilename(filename, NULL, XML_SAVE_NO_DECL); 
if (saveCtxt == NULL) { 
    // Error handling 
} 
if (xmlSaveDoc(saveCtxt, doc) < 0) { 
    // Error handling 
} 
xmlSaveClose(saveCtxt); 

的xmlsave模塊的文檔可以found here

+0

我用它,但我不能得到它的工作。我如何指定我想保存特定的xmlDocPtr,它不會出現在xmlSaveToFilename的參數中? – Florian

+0

'xmlDocPtr'作爲第二個參數傳遞給'xmlSaveDoc'。 – nwellnhof

+1

同意這個答案,它適用於我,所以我在我的項目(一個擴展libxml2的小型庫)中聲明它:https://github.com/silvioprog/ws/blob/master/libmicroxml/src/microxml。 C#L513。 – silvioprog