2012-06-05 75 views
5

我想使用xml2js解析和查詢xml中的元素。我的XML字符串如下:使用xml2js解析xml的節點

var xml = "<config><test>Hello</test><data>SomeData</data></config>"; 

我想是要提取值,並將其分配給var extractedData

這是我到目前爲止有:

var parser = new xml2js.Parser(); 
parser.parseString(xml, function(err,result){ 
    //Extract the value from the data element 
    extractedData = result['data']; 
} 

這不起作用。有人可以指出我怎麼能夠從我的XML獲取值?

謝謝

這似乎沒有工作。有人可以告訴我這裏可能是什麼問題嗎?

回答

14

它爲我工作

var xml2js = require('xml2js'); 
var xml = "<config><test>Hello</test><data>SomeData</data></config>"; 

var extractedData = ""; 
var parser = new xml2js.Parser(); 
parser.parseString(xml, function(err,result){ 
    //Extract the value from the data element 
    extractedData = result['config']['data']; 
    console.log(extractedData); 
}); 
console.log("Note that you can't use value here if parseString is async; extractedData=", extractedData); 

結果:

SomeData 
Note that you can't use value here if parseString is async; extractedData= SomeData 
+3

如何打印這是5或6級深度 –

+0

的數據@Vishwanathgowdak使用'util.inspect()';看到一個簡單的例子在這裏接受的答案:http://stackoverflow.com/questions/10729276/how-can-i-get-the-full-object-in-node-js-console-log-rather-than-對象這裏有一個快速和骯髒的方法:'console.log(require('util')。inspect(result,false,null));'' – Josh1billion