2015-12-13 45 views
2

我有点小白吞掉/节点编程和我挣扎做一个简单的任务:)GulpJS - 如何从XML文件读取值并将其添加到JSON文件?

我有一个包含这样一个节点的XML文件:<widget version="1.1"></widget>

我会喜欢读出版本值并将该值放入json文件中。这是如何实现的?

这里是我的尝试:

var configXml  = 'config.xml'; 
var enTemplateJson = 'signing/en_template.json'; 

CODE

SCRIPT

return gulp.src([configXml]) 
      .pipe(cheerio({ 
      parserOptions: { 
       xmlMode: true 
      }, 
      run: function($, file) { 
       $('widget').each(function() { 
       var version = $(this)[0].attribs.version; 

       // prints version 1.1 
       console.log(version); 
       }) 
      } 
      })) 
      .pipe(gulp.dest('test.xml')); 
+1

确切的问题是什么 –

+0

我需要从XML文件读取版本值并将其写入JSON文件。除非有办法同时打开两个文件,否则我无法实现这一目标? –

+1

是'en_template.json'文件,您需要使用'config.xml'中的版本修补现有的json文件吗?或者你可以每次重新创建它吗? – nicknystrom

回答

3

我想通了:

// App Versioning 
gulp.task('update-version', function() { 
    // Read config.xml file synchronously 
    var xml  = fs.readFileSync('./config.xml'); 

    // Use cheerio to parse the xml and extract the version number 
    var $   = cheerio.load(xml, { xmlMode: true }); 
    var version = $('widget')[0].attribs.version; 

    return gulp.src('signing/en.json') 
      .pipe(replace(/\${APP_VERSION}/, version)) 
      .pipe(gulp.dest('app/i18n')); 
}); 
相关问题