2012-12-24 129 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