2012-12-24 180 views
0

我有一個libxmljs XML對象。我想寫它到一個文件;這是迄今爲止我所擁有的。將libxmljs XML寫入文件

var libxml = require('libxmljs'); 
var xml = '<?xml version="1.0" encoding="UTF-8"?>' + 
      '<root>' + 
       '<child foo="bar">' + 
        '<grandchild baz="fizbuzz">'+ 
      '<blah>grandchild content<inblah>blah blah</inblah></blah>' + 
      '<blah1>grandchild content blah2</blah1>'+ 
      '</grandchild>' + 
       '</child>' + 
      '</root>'; 


var xmlDoc = libxml.parseXml(xml); 
//..... do some changes to xmlDoc 
console.log(xmlDoc.toString()); 

我想寫xmlDoc到一個單獨的文件。如result.xml

+0

你應該看看[這個問題](http://stackoverflow.com/q/2897619/589985) - 前三個答案是所有可能的解決方案。 –

+0

謝謝@XavierHolt,但這似乎沒有幫助。我正在使用NodeJS庫。所以我需要找到一個可以在NodeJS中使用的解決方案。 –

+0

哎呀!原以爲它在瀏覽器中運行...嘗試[這個問題](http://stackoverflow.com/q/2496710/589985)。 –

回答

1

在node.js中使用內置的fs模塊。就像這樣:

var js = require('fs'); 
var libxml = require('libxmljs'); 
var xml = '<?xml version="1.0" encoding="UTF-8"?><root>foobar</root>'; 

var xmlDoc = libxml.parseXml(xml); 
//..... do some changes to xmlDoc 
fs.writeFile('test.xml', xmlDoc.toString(), function(err) { 
    if (err) throw err; 
    console.log('Wrote XML string to test.xml'); 
}); 

您可以對FS模塊這裏進一步閱讀:http://nodejs.org/api/fs.html#fs_fs_readfile_filename_options_callback