xmlbulilder パッケージを使用して nodejs で xml を生成しています。現在、xml に名前空間を追加する必要があります。例えば
<nsA:root xmlns:nsA="namespaceA" xmlns:nsB="namespaceB">
<nsB:nodeA attrC="valC">nodeText</nsB:nodeA>
</nsA:root>
どうすればそれができますか?手伝ってくれてありがとう!
xmlbulilder パッケージを使用して nodejs で xml を生成しています。現在、xml に名前空間を追加する必要があります。例えば
<nsA:root xmlns:nsA="namespaceA" xmlns:nsB="namespaceB">
<nsB:nodeA attrC="valC">nodeText</nsB:nodeA>
</nsA:root>
どうすればそれができますか?手伝ってくれてありがとう!
以下のようなコードで実現できることがわかりました。
(() => {
'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);
})();
名前空間を設定するためのより明示的な方法があるかどうかはわかりませんが、冗長性を減らすためにそれを用意することは理にかなっています。