创建删除声明和doctype标记的XML文档流

创建删除声明和doctype标记的XML文档流,xml,node.js,node.js-stream,Xml,Node.js,Node.js Stream,这就是我想做的 目标:删除声明和doctype标记的XML文档的管道流。 问题1。最好的办法是什么。我应该使用FS模块的createReadStream和createWriteStream方法吗?第二部分。如何从一个流中删除文本并将其导入另一个流 您可以使用fs.createReadStream和fs.createWriteStream分别读取和写入xml数据。现在要删除一些文本,您需要一个可读写的双工流。在节点0.10+中,可以使用内置的。下面是使用转换流的简单代码: var Transfor

这就是我想做的 目标:删除声明和doctype标记的XML文档的管道流。 问题1。最好的办法是什么。我应该使用FS模块的createReadStream和createWriteStream方法吗?第二部分。如何从一个流中删除文本并将其导入另一个流

您可以使用fs.createReadStream和fs.createWriteStream分别读取和写入xml数据。现在要删除一些文本,您需要一个可读写的双工流。在节点0.10+中,可以使用内置的。下面是使用转换流的简单代码:

var Transform = require('stream').Transform 
var util = require('util');
var fs = require('fs')

util.inherits(MyTransform, Transform);
function MyTransform(options) {
  if (!(this instanceof MyTransform))
    return new MyTransform(options);

  Transform.call(this, options);

  // init Transform
  Transform.call(this, options);
}

MyTransform.prototype._transform = function (chunk, encoding, done) {
  //do your processing with chunk
  this.push(chunk);
  done();
};

rstream = fs.createReadStream('input.xml')
wstream = fs.createWriteStream('output.xml')
tstream = new MyTransform()

rstream
  .pipe(tstream)
  .pipe(wstream)