0

我需要在 Javascript 中使用 XSLT 转换 XML 字符串。XSLT 存储在自己的文件中,而 XML 是更大 XML 文档的一部分,因此作为字符串存储在变量中。

我目前的解决方案如下所示:

xslt = document.implementation.createDocument("","",null);
xslt.async = false;
xslt.load('xslfile.xsl');

xml = document.implementation.createDocument("","",null);
// here I need to include the XML as it is in the document

xsltProc.importStylesheet(xslt);
xml_dom = xsltProc.transformToDocument(xml);
output += new XMLSerializer().serializeToString(xml_dom.documentElement);

当我将变量的内容保存到文件中并以包含 XSLT 文件的方式包含它时,我得到了所需的输出(转换后的 XML):

xml = document.implementation.createDocument("","",null);
xml.async = false;
xml.load('xmlinput.xml');

我需要一种将变量内容包含到 xml DOM 文档中的方法……或者有更优雅的方法吗?

提前致谢

4

2 回答 2

2

使用 Mozilla、Opera、Safari、Chrome 和 IE 9,您可以执行以下操作

var xml = new DOMParser().parseFromString(yourVar, 'application/xml');

将变量中的 XML 标记解析为yourVarXML DOM 文档。

于 2012-04-23T12:51:24.563 回答
0

您可以将 XML 存储在一个变量中并像往常一样使用 jQuery 来遍历它,我倾向于这样做:

window.auditDoc = $.parseXML("<?xml version='1.0' encoding='UTF-8'?><Bundle><Audit></Audit></Bundle>");

如果我正在使用单个 xml 文件进行分配工作,那么我也发现将它放在 window.auditDoc 中并始终这样引用它很有用。

于 2012-04-23T12:57:50.220 回答