我需要在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文档中......还是有更优雅的方式?
提前致谢
答案 0 :(得分:2)
使用Mozilla,Opera,Safari,Chrome和IE 9,你可以做到这一点。
var xml = new DOMParser().parseFromString(yourVar, 'application/xml');
将变量yourVar
中的XML标记解析为XML DOM文档。
答案 1 :(得分:0)
您可以将XML存储在变量中并使用jQuery正常遍历它,我倾向于这样做:
window.auditDoc = $.parseXML("<?xml version='1.0' encoding='UTF-8'?><Bundle><Audit></Audit></Bundle>");
如果我正在使用单个xml文件进行大量工作,那么我也发现将它放在window.auditDoc中并始终将其引用为此非常有用。