Вопрос по node.js, javascript, xml – Узел для разбора xml с использованием xml2js

8

Я пытаюсь проанализировать и запросить элемент в 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?

Спасибо

Это, похоже, не работает. Может кто-нибудь сказать мне, что может быть проблема здесь?

Ваш Ответ

1   ответ
20

меня устраивает

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
@Vishwanathgowdak использоватьutil.inspect(); см. принятый ответ здесь для быстрого примера:stackoverflow.com/questions/10729276/…  Вот быстрый и грязный подход:console.log(require('util').inspect(result, false, null));
Как я могу распечатать данные, которые находятся на 5 или 6 уровне глубины

Похожие вопросы