2017-05-11 96 views
0

在使用xml2js模塊的NodeJS中,我將XML字符串轉換爲JSON對象,並在將某個JSON對象再次轉換爲XML後進行一些編輯。所有這一切都運行良好,但問題是轉換的XML中缺少CDATA標記。有人可以幫我弄這個嗎?我在下面給出了具有相同問題的示例代碼。NodeJS xml2js - 從XML轉換到JSON時刪除CDATA標記

var xml2js = require('xml2js'); 
var parser = new xml2js.Parser(); 
parser.parseString("<myxml myattribute='value'><![CDATA[Hello again]]> 
</myxml>", function (err, data) { 

var builder = new xml2js.Builder({ 
cdata: true 
}); 
var xml = builder.buildObject(data); 
console.log(" ------------ "+xml); 
}); 

由於 -kt

+0

請更改標題爲「NodeJS xml2js - 從XML轉換爲JSON時刪除CDATA標籤」 – Smile4ever

+0

爲什麼需要CDATA? – Smile4ever

+0

我有很多使用CDATA的XML。我正在開發應用程序來編輯這些XML並保存更新的XML。因此需要保持xml結構不變。 –

回答

1

請閱讀https://github.com/Leonidas-from-XIV/node-xml2js/issues/218

每包的作者,每維基百科:

CDATA項僅僅是爲了表達 字符數據的另一種語法;有,其表現爲表現爲 以通常的語法,其中「<」和「&」將被分別由「<」 和「&」,表示CDATA節和字符數據的字符數據 之間沒有語義差異。

的選項CDATA中的文檔狀態:

CDATA(默認:false):包裝逃避必要時的相反在 文本節點。不需要添加,如果它不是 。在0.4.5中添加。