簡體   English   中英

Node.js & xml2js - 將多個相同類型的屬性渲染到元素中不起作用

[英]Node.js & xml2js - Render multiple attributes of same kind into element not working

我正在使用 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">         

如何在同一個元素中呈現兩個相似的屬性?

我不認為你能做到這一點。 根據規范,它是無效的 XML。 屬性名稱必須是唯一的。

除非您使用的庫沒有完全實現規范的要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM