解决方案1:
利用
.cdata
.dat
.d
)方法并链接每个方法以生成XML片段。例如:
var builder = require('xmlbuilder');
var element = {
notes_text: '<p>Hello <em>World</em></p>'
};
var xml = builder
.create('slides', { version: '1.0', encoding: 'UTF-8', standalone: true })
.ele('notestext')
.cdata(element.notes_text)
.end({
pretty: true
});
console.log(xml);
输出
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<slides>
<notestext>
<![CDATA[<p>Hello <em>World</em></p>]]>
</notestext>
</slides>
解决方案2:
另一种编写方法与您的示例更为相似,如下所示:
var builder = require('xmlbuilder', { encoding: 'utf-8' });
var element = {
notes_text: '<p>Hello <em>World</em></p>'
};
var xml = builder.create('slides');
xml.ele('notestext').cdata(element.notes_text);
xml.end({
pretty: true
});
console.log(xml.toString());
与上一个示例相比,这个示例使用的方法链接更少,但是它确实链接了
cdata
ele
方法。
<slides>
<notestext>
<![CDATA[<p>Hello <em>World</em></p>]]>
</notestext>
</slides>
解决方案3:
或者,如果不想链接任何方法,可以执行以下操作:
var builder = require('xmlbuilder');
var element = {
notes_text: '<p>Hello <em>World</em></p>'
};
var rootElement = builder.create('slides');
var childElement = rootElement.ele('notestext')
childElement.cdata(element.notes_text);
rootElement.end({
pretty: true
});
console.log(rootElement.toString());
解决方案2
其他信息:
文件描述了
CDATA节点
cdata酒店
函数(也可以缩写为
dat
或
d
ele.dat('this will be surrounded by CDATA delimiters');