парсер xml2js в узле - PullRequest
       20

парсер xml2js в узле

0 голосов
/ 08 апреля 2019

Как я могу проанализировать содержимое XML в js, если встроенные теги присутствуют внутри тегов, как показано в Исходный XML ниже.

Я хочу проанализировать тег <articletitle>, но в настоящее время анализатор xml2js также читает встроенные теги, а именно; <em> ... </em> и <strong> ... </strong>.

Исходный XML:

Это мой исходный фрагмент XML:

<articletitle Language="En">Effects of enhanced UV-B radiation and drought stress on photosynthetic performance of lettuce(<em>Lactuca sativa</em><strong>Naghty</strong> L. romaine) plants</articletitle>

Требуемый выход JS:

Когда xml2js читает заголовок статьи, он должен отображать вывод следующим образом, при этом встроенные теги должны оставаться встроенными:

"artciletitle" : "Effects of enhanced UV-B radiation and drought stress on photosynthetic performance of lettuce(<em>Lactuca sativa</em><strong>Ranjitha</strong> L. romaine) plants" 

Кто-нибудь может подсказать, как этого добиться?


EDIT:

Ниже приведен мой текущий скрипт node.js:

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

var xml = '<articletitle Language="En">Effects of enhanced UV-B radiation and drought stress on photosynthetic performance of lettuce(<em>Lactuca sativa</em><strong>Ranjitha</strong> L. romaine) plants</articletitle>'

var parseStringOpts = {
  explicitArray: true,
  explicitCharkey: true,
  trim: true,
  charkey: '#',
  emptyTag: { "#": '' },
  attrkey: '@',
  preserveChildrenOrder: true,
  mergeAttrs: false,
  ignoreAttrs: false,
  charsAsChildren: true,
  explicitRoot: true
}

parseString(xml, parseStringOpts, (err, res) => {
  if (err) console.log(err);
  console.log('response', (JSON.stringify(res)));
  response.status(200).send(JSON.stringify(res));
});
...