我有一個textarea,在那里我粘貼了一個XML檔案,并用簡單的JavaScript將其轉換為JSON。 我想用 XSLT 在客戶端修改 XHTML,并產生一個新的 XML,將其轉換為 JSON。 我一直得到 CORS 錯誤。
我的代碼是:
< textarea id="xmltext" name="xmltext">。 </textarea>>
<button onclick="xml2xslt()"/span>> transform</button>
函式xml2xslt(){
var xslStylesheet;
var xsltProcessor = new XSLTProcessor()。
var myDOM;
var xmlDoc;
var xhr = new XMLHttpRequest();
xhr.open("GET", "<?xml version="1.0" encoding="UTF-8"? ><xsl:styleheet version="1.0"/span>
xmlns:xsl="http://www.w3. org/1999/XSL/Transform"><xsl: template match="/">< html><body> < h2>我的CD收藏</h2>< table border="1"> < tr bgcolor="#9acd32"/span>> <th>/span>Title</th> <th>Artist</th> </tr><xsl: for-each select="catalog/cd">< tr><td> <xsl: value-of select="title"/>< /td><td> <xsl: value-of select="artist"/>< /td></tr></xsl: for-each></table> </body> </html></xsl。 template></xsl:styleheet>", false)。)
xhr.overrideMimeType("text/xml")
xhr.send(null)。
xslStylesheet = xhr.responseXML;
xsltProcessor.importStylesheet(xslStylesheet)。
//加載xml檔案
xhr = new XMLHttpRequest();
xhr.open("GET", "<?xml version="1.0" encoding="UTF-8"? ><?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"? ><catalog> < cd>/span><title> Empire Burlesque</title><artist> Bob Dylan<。 /artist><country> 美國</country>< company>Columbia</company><10. 90</price><year>1985< /year></cd></catalog> /", false);
xhr.overrideMimeType("text/xml")
xhr.send(null)。
xmlDoc = xhr.responseXML;
var fragment = xsltProcessor.transformToFragment(xmlDoc, document)。
document.getElementById("xmltext").textContent = ""。
myDOM = fragment;
document.getElementById("xmltext").appendChild(fragment)。
我應該在xhr.open("GET",url,false);的url中放置什么路徑來獲得xml代碼? xsl代碼可以硬編碼,因為我只是洗掉了標簽的前綴。
我怎樣才能匯出新的xml,以便JSON.parse()它?
uj5u.com熱心網友回復:
如果你有XML和/或XSLT資料作為一個字串,然后使用DOMParser來決議它們,例如:
xslStylesheet = new DOMParser().parseFromString(yourXSLTString, 'application/xml'); /span>
然后將該xslStylesheet檔案傳遞給XSLTProcessor的importStylesheet方法。不需要使用XMLHttpRequest。
對XML檔案做同樣的處理,例如:
xmlDoc = new DOMParser().parseFromString(`<catalog> < cd>/span><title> Empire Burlesque</title><artist> Bob Dylan< /artist><country> 美國</country>< company>Columbia</company><10. 90</price><year>1985< year></cd></catalog>`, 'application/xml') ;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/307710.html
標籤:
下一篇:我不能在安卓系統上使影像透明?
