2012-04-23 55 views
0

我需要使用JavaScript中的XSLT轉換XML字符串。雖然XSLT存儲在自己的文件中,但XML是更大的XML文檔的一部分,因此將其作爲字符串存儲在變量中。使用XML存儲在變量中的Javascript XSLT轉換

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

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文檔中......還是有更優雅的方式嗎?

在此先感謝

回答

2

使用Mozilla,歌劇,Safari,Chrome和IE與9,你可以做如

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

解析在可變yourVar XML標記爲XML DOM文檔。

0

可以存儲在XML變量和使用jQuery正常穿越它,我傾向於做這樣的事情:

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

如果我做配發工作與一個XML文件,然後我也覺得把它放在window.auditDoc中並且總是把它稱爲它是有用的。