使用JavaScript在内存中生成XML文档。

11 浏览
0 Comments

使用JavaScript在内存中生成XML文档。

我正在开发一个Web应用程序,需要将XML发送给服务器后端。我想在客户端内存中构建一个XML文档,但是使用XML操作例程,而不是将无数个字符串拼接在一起。我希望jQuery能帮助我解决这个问题。

假设我需要使用JavaScript生成这个(玩具)XML文档:

John Doe

Alice

80

Bob

90

首先,我需要创建一个带有"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;

}

有什么想法吗?

0