*** Проблема решена: проблема была в json.stringify .. намного легче справиться, когда ее не будет.
var DBName = result['Document']['SW.Blocks.GlobalDB']['AttributeList']['Name'];
У меня есть XML-файл, описывающий блок данных из ПЛК, и я хочу получить конкретные значения с помощью JS.
Я преобразовал его с помощью модуля xml2js, поэтому у меня есть объект json для работы.
{
"Document": {
"Engineering": {
"$": {
"version": "V15"
}
},
"SW.Blocks.GlobalDB": {
"$": {
"ID": "0"
},
"HeaderAuthor": "",
"HeaderFamily": "",
"HeaderName": "",
"HeaderVersion": "0.1",
"Interface": {
...
...
"Name": "datentypen",
"Number": "6",
"ParameterModified": {
"_": "2018-09-05T11:49:37.0862092Z",
"$": {
"ReadOnly": "true"
}
},
}
}
Я хочу распечатать «Имя» и «Номер», которые являются частью «AttributeList».
Так как же справиться с «SW.Blocks.GlobalDB»?
Получение ошибки: «Ошибка типа: невозможно прочитать свойство« SW »из неопределенного» * 1017 *
var fs = require('fs');
var xml2js = require('xml2js');
var xml = fs.readFileSync('datentypen.xml');
var parser = new xml2js.Parser({explicitArray: false});
parser.parseString(xml, function(err, result) {
if (err) {
console.error('xml2js.parse error: ',err);
} else {
var injson = JSON.stringify(result,null,3);
console.log(injson);
// var injson2 = JSON.parse(injson);
// var DBnummer = injson.Document.SW.Blocks.GlobalDB.AttributeList["Name","Number"];
// console.log(DBNummer);
};
});
Я много читал об этой теме, но не нашел конкретного ответа ..
Когда я пишу ["SW.Blocks.GlobalDB"], появляется ошибка [[10].