如何修改node.jsstream

我正在从S3stream式传输一个xml文件。 我需要为sphinxsearch引擎build立一个不同结构的新xml文件。 我已经从S3stream式传输文件,将其传送到SAXparsing器中,但是现在我需要弄清楚如何修改stream(在SAXparsing器之后)并上传到S3。

parser.on('startElement', function(name, attrs) { // Do something }); 

我发现什么似乎是一个伟大的S3库stream称为诺克斯 ,所以我目前正在使用该库。 我没有卡在这个图书馆,只是我发现,似乎是体面的。 在这个例子中,他们必须将数据stream传输到S3的代码只能来自HTTP请求。 我比较新的stream,因为我有一个PHP的背景。

Knox示例stream:

 http.get('http://google.com/doodle.png', function(res){ var headers = { 'Content-Length': res.headers['content-length'] , 'Content-Type': res.headers['content-type'] }; client.putStream(res, '/doodle.png', headers, function(err, res){ // Logic }); }); 

我想我需要做一些这方面的事情。

 parser.on('startElement', function(name, attrs) { var headers = { 'Content-Length': res.headers['content-length'] , 'Content-Type': res.headers['content-type'] }; client.putStream(res, '/doodle.png', headers, function(err, res){ // Logic }); }); 

任何帮助是极大的赞赏。 谢谢。

这个关于Node新stream的讨论明确地谈到了从S3转换stream。

注意:这是参考在节点0.10.x中实现的stream

https://www.npmjs.org/package/through

这个模块将会做你需要的。