2015-12-13 70 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')); 
}); 
相關問題