2017-02-23 52 views
0

Im new to angularjs2 и машинописный текст, в моем проекте у меня есть строковая переменная, содержащая xml в качестве строки, мне нужно обработать строку и получить доступ к данным в строке в соответствии с узлом в XML.Im имея трудное время googling. Пожалуйста помогите мне вне.Анализ XML-данных в угловом 2

<groupDirectory> 
<directoryDetails> 
<userId>extn5001</userId> 
<firstName>Park</firstName> 
<lastName>1</lastName> 
<groupId>communications</groupId> 
<extension>5001</extension> 
</directoryDetails> 
<directoryDetails> 
<userId>Yealinkt27ptest</userId> 
<firstName>Yealink T</firstName> 
<lastName>27P</lastName> 
<groupId>communications</groupId> 
<extension>4676</extension> 
</directoryDetails> 
<groupDirectory> 

это XML мне нужно process.i нужно получить доступ к данным в соответствии с узлами, например: название от

ответ

0

Если вы используете angular-cli для начальной загрузки приложения - следующий XML-парсер уже с установкой проекта.

https://github.com/Leonidas-from-XIV/node-xml2js

Так что вам не нужно добавлять дополнительные модули для этого. Как это модуль классический CommonJS - вам нужно использовать require импортировать:

let parseString = require('xml2js').parseString; 

Так что ваш код может выглядеть так:

let parseString = require('xml2js').parseString; 
let xml = "<root>Hello xml2js!</root>" 

parseString(xml, function (err, result) { 
    console.dir(result); 
}); 

Вы получите следующий вывод:

enter image description here

В любом случае - если вы даже не используете angular-cli или хотите использовать ваш preffered модуль для разбора xml - используйте require для его загрузки.

+0

У меня ошибка при использовании «let». – biff

+0

используйте 'var' вместо' let'. Вы не используете машинописный текст/es6 в своем проекте? – VadimB

+0

у меня это получилось ... у меня есть еще одно сомнение в том, как я могу получить доступ к данным с узлов – biff

0

К настоящему времени предложенный код в другом ответе (который предлагает node-xml2js) не работал. Вместо:

let parseString = require('xml2js').parseString; 

Я использовал:

import { parseString } from 'xml2js'; 

Оставшаяся часть была ок. Angular-cli б/у.

Смежные вопросы