我正在使用“ xmlbuilder” node.js模块来创建xml文件。我需要创建一个CDATA部分,如下所示:
<notestext><![CDATA[{Notes Text}]]></notestext>
我提到了github link,但是没有发现任何有用的东西。
如何使用“ xmlbuilder” node.js模块在xml文件中创建此类CDATA部分?
let builder = require('xmlbuilder', { encoding: 'utf-8' });
let xml = builder.create('Slides');
xml.ele("notestext","<![CDATA[" + element.notes_text + "]]>");
xml.end({ pretty: true });
console.log(xml.toString());
答案 0 :(得分:2)
您发布的Doc中的
CDATA节点CDATA节点是使用cdata函数创建的(也可以 缩写为dat或d)。该值不应包含CDATA 分隔符
ele.dat('this will be surrounded by CDATA delimiters');
var builder = require('xmlbuilder', { encoding: 'utf-8' });
var xml = builder.create('slides');
xml.ele('notestext').dat('{Notes Text}');
xml.end({
pretty: true,
indent: ' '
});
console.log(xml.toString());
答案 1 :(得分:0)
利用@ResponseBody
(@Controller
public class HelloController{
@RequestMapping("/")
@ResponseBody
public String index() {
return "index";
}
}
或 bdv. mot. g. vns. kilm.
)方法并链接每个方法以生成XML片段。例如:
Javascript:
.cdata
输出:
.dat
另一种类似于您的示例的编写方法如下:
.d
注意:该示例使用的方法链比上一个示例少,但是它确实将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>
方法。
这将打印以下内容:
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
这也会输出与解决方案2 相同的输出。
文档对ele
方法的描述如下:
CDATA节点
CDATA节点是使用
<slides> <notestext> <![CDATA[<p>Hello <em>World</em></p>]]> </notestext> </slides>
函数创建的(也可以缩写为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());
或.cdata
)。该值不应包含CDATA分隔符
cdata