簡體   English   中英

將XSL標記附加到HTML DOM元素

[英]Append XSL tags to HTML DOM elements

如果我有一個空的XSL文檔,如下所示:

<body>
   <div id="myList">

   </div>
</body>

如何訪問div標簽並將XSL附加到標簽上? 例如,我想在我的js代碼中執行以下操作,但不輸出任何內容。 但是,如果我手動將innerHTML值插入div標簽,則它可以工作:

document.getElementById("myList").innerHTML = `<xsl:value-of select="Movies/Authors/FirstName"/>`

我嘗試使用不同的引用樣式,但是似乎無法獲得預期的輸出。 有沒有辦法解決?

假設您具有XSLT樣式表作為XML DOM文檔,並且具有支持XML元素上的innerHTML的瀏覽器的最新版本(我已經在Windows 10 Creators Update上成功測試了Chrome,Firefox和Edge的當前版本),可以使用例如

 var xslString = `<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="Root"> <div id="myList"> </div> </xsl:template> </xsl:stylesheet>`; var xmlString = `<Root> <Movies> <Authors> <FirstName>Steven</FirstName> </Authors> </Movies> </Root>`; var domParser = new DOMParser(); var xsltDoc = domParser.parseFromString(xslString, 'application/xml'); var xmlDoc = domParser.parseFromString(xmlString, 'application/xml'); var div = xsltDoc.querySelector('#myList'); div.innerHTML = `<xsl:value-of select="Movies/Authors/FirstName"/>`; var proc = new XSLTProcessor(); proc.importStylesheet(xsltDoc); document.getElementById('result').appendChild(proc.transformToFragment(xmlDoc, document)); 
 <section> <h1>Result</h1> <div id="result"></div> </section> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM