共用方式為


System.Xml.Xsl.XslCompiledTransform 類別

本文提供此 API 參考文件的補充備註。

類別 XslCompiledTransform 是支援 XSLT 1.0 語法的 XSLT 處理器。 相較於過時 XslTransform 的 類別,這是新的實作,並包含效能提升。 類別的結構 XslCompiledTransform 與類別非常類似 XslTransform 。 方法 Load 會載入並編譯樣式表單,而 Transform 方法會執行 XSLT 轉換。

預設會停用 XSLT document() 函式和內嵌腳本區塊的支援。 建立物件並將其傳遞至 XsltSettings 方法,即可啟用Load這些功能。

如需詳細資訊,請參閱 使用 XslCompiledTransform 類別從 XslTransform 類別移轉

安全性考慮

建立使用 XslCompiledTransform 類別的應用程式時,您應該注意下列事項及其影響:

  • XSLT 腳本預設停用。 只有在需要腳本支援且在完全信任的環境中工作時,才應該啟用 XSLT 腳本。

  • XSLT document() 函式預設為停用。 如果您啟用document()功能,請將XmlSecureResolver物件作為參數傳遞給Transform方法來限制可存取的資源。

  • 擴充物件預設為啟用。 XsltArgumentList如果包含擴充對象的對象傳遞至 Transform 方法,則會使用它們。

  • XSLT 樣式表可以包含對其他檔案和內嵌腳本區塊的引用。 惡意使用者可以利用漏洞,通過提供資料或樣式表來進行攻擊,這可能會在執行時導致系統持續處理,直到計算機的資源耗盡為止。

  • 在混合信任環境中執行的 XSLT 應用程式可能會導致樣式表單詐騙。 例如,惡意使用者可以使用有害的樣式表單載入物件,並將它交給後續呼叫 Transform 方法並執行轉換的另一位使用者。

除非樣式表單來自信任的來源,否則不應啟用腳本或document()函式,而且也不應接受來自不受信任來源的物件、XSLT 樣式表單或 XML 源數據,以減輕這些安全性問題。