在Node.js中使用xmlbuilder在xml中添加namspace

Sac*_*hin 4 xml xml-namespaces xml-builder node.js

我正在使用xmlbulilder包在nodejs中生成xml,现在我的要求是向xml添加名称空间。例如

<nsA:root xmlns:nsA="namespaceA" xmlns:nsB="namespaceB">
    <nsB:nodeA attrC="valC">nodeText</nsB:nodeA>
</nsA:root>
Run Code Online (Sandbox Code Playgroud)

我们该怎么做?感谢帮助!

Dmi*_*try 5

我发现您可以通过以下代码完成此任务。

(() => {
    'use strict';

    const xmlbuilder = require('xmlbuilder');

    const doc = xmlbuilder.create('nsA:root')
      .att('xmlns:nsA', 'namespaceA')
      .att('xmlns:nsB', 'namespaceB')
      .ele('nsB:nodeA', 'nodeText')
        .att('attrC', 'valC');

    const output = doc.end({pretty: true});

    console.log(output);
})();
Run Code Online (Sandbox Code Playgroud)

我不知道是否有一种更明确的设置名称空间的方法,但是有意义的是减少冗余。