Node.js & xml2js - рендеринг нескольких атрибутов одного вида в элемент не работает - PullRequest
0 голосов
/ 23 сентября 2019

Я использую node.js и xml2js для создания XML-файла.Я не могу добавить к подобным атрибутам тег thoug.Вот так:

  <?xml version="1.0" encoding="UTF-8"?>
    <data xmlns:xsi="url" xmlns="abc" xmlns="xyz" xsi:schema="123">     

То, что я пробовал, это:

js:

  var obj = {
    'data': {
      /*'$': {
        'xmlns:xsi': 'url',
        'xmlns': 'abc',
        'xmlns': 'xyz',
        'xsi:schema': '123'
      },*/
      '$': {
        'xmlns:xsi': 'url',
        'xmlns': [
          'abc',
          'xyz'
        ],
        'xsi:schema': '123'
      }
      ...
    }
  };

  var builder = new xml2js.Builder({ xmldec: {'version': '1.0', 'encoding': 'UTF-8'} });
  var xml = builder.buildObject(obj);

 console.log(xml);

... что приводит к:

Попытка1 (отображается только последний):

  <?xml version="1.0" encoding="UTF-8"?>
    <data xmlns:xsi="url" xmlns="xyz" xsi:schema="123"> 

Попытка 2:

  <?xml version="1.0" encoding="UTF-8"?>
    <data xmlns:xsi="url" xmlns="abc,xyz" xsi:schema="123"> 

Но мне нужно это:

Цель:

  <?xml version="1.0" encoding="UTF-8"?>
    <data xmlns:xsi="url" xmlns="abc" xmlns="xyz" xsi:schema="123">         

Как отобразить два одинаковых атрибута в одном элементе?

1 Ответ

1 голос
/ 24 сентября 2019

Я не думаю, что вы можете сделать это.Это недопустимый XML в соответствии со спецификацией.Имя атрибута должно быть уникальным.

Если используемая вами библиотека не реализует в точности то, что требуется для спецификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...