使用JavaScript在内存中生成XML文档。
使用JavaScript在内存中生成XML文档。
我正在开发一个Web应用程序,需要将XML发送给服务器后端。我想在客户端内存中构建一个XML文档,但是使用XML操作例程,而不是将无数个字符串拼接在一起。我希望jQuery能帮助我解决这个问题。
假设我需要使用JavaScript生成这个(玩具)XML文档:
首先,我需要创建一个带有"report"根节点的XML文档对象。我假设下面的其中一个方法应该接近,但是它们都不完全正确,或者我无法弄清楚如何正确使用这些对象:
function generateDocument1()
{
var report = $('
return report;
}
function generateDocument2()
{
var report = document.implementation.createDocument(null, "report", null);
return new XMLSerializer().serializeToString(report);
}
function createXmlDocument(string)
{
var doc;
if (window.DOMParser)
{
parser = new DOMParser();
doc = parser.parseFromString(string, "application/xml");
}
else // Internet Explorer
{
doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async = "false";
doc.loadXML(string);
}
return doc;
}
function generateDocument3()
{
var report = createXmlDocument('
return report;
}
现在我想创建和添加元素。我应该如何做?我想像下面这样:
function generateReportXml()
{
// 以某种方式生成带有根节点的XML文档对象
var report = /*???*/;
// 以某种方式创建XML节点
var submitter = /*???*/;
var name = /*???*/;
// 以某种方式将name添加到submitter,submitter添加到report
submitter.append(name); /*???*/
report.append(submitter); /*???*/
// ... 添加其他XML内容
return report;
}
有什么想法吗?