node.js - xmlbuilder2 使用 JS 对象设置文本和属性
问题描述
我正在使用 xmlbuilder2 从 JS 对象创建 XML 文档。
这工作得很好:
const { create } = require('xmlbuilder2');
const obj = {
root: {
'@att': 'val',
foo: {
bar: 'foobar'
},
baz: {}
}
};
const doc = create(obj);
const xml = doc.end({ prettyPrint: true });
console.log(xml);
但是,我想获得以下 XML:
<?xml version="1.0"?>
<root att="val">
<foo>
<bar myattr="hello">foobar</bar>
</foo>
<baz/>
</root>
如何设置bar
元素的属性和内容?我在网上没有找到任何示例,我尝试过使用@text
但它没有用。
谢谢!
解决方案
我想通了(在 Tomalak 的帮助下!)正确的方法是:
const { create } = require('xmlbuilder2');
const obj = {
root: {
'@att': 'val',
foo: {
bar: {"@myattr":"hello", "#":'foobar'}
},
baz: {}
}
};
const doc = create(obj);
const xml = doc.end({ prettyPrint: true });
console.log(xml);
推荐阅读
- spyne - get_object_as_xml 不适用于多态性
- angular - 使用 Angular HTTP 客户端 - 如何发送所有属性为“默认为空”的 POST http 对象
- c# - 无法从控制面板中删除 wix 引导程序应用程序
- java - 带有正斜杠的 Feign 客户端 URL
- kubernetes - Minikube 隧道不断要求 sudo
- r - 如何将所选列格式化为百分比 - R Kable
- reactjs - 提交时清除 Formik 表单不起作用,我做错了什么?
- vue.js - Vue Good Table 过滤复合列
- sql - SQL 根据其他行的值更新每一行
- css - 字体出现锯齿状,抗锯齿更接近淡紫色而不是灰色