ASP處理XSLT轉換XML的實現

來源:互聯網
上載者:User

使用ASP處理XSLT轉換XML比較簡單,思路如下:建立一個XSLTemplate的對象,再建立一個XMLDOM對象,然後在家Xml檔案和XSLT檔案,最後使用方法transform即可,包含到類裡面,具體代碼如下:

以下是引用片段:

Class Cls_Xml_Transform
  Private lInput,XSLTemplate
  Private p_Output
  Public Property Get Output()
    Output = p_Output
  End Property
  Private Property Let Output(ByVal strInfo)
    p_Output = strInfo
  End Property
  Public Property Let Input(ByVal vNewValue)
    If IsObject(vNewValue) Then Set lInput=vNewValue
  End Property
  Public Property Let XSLTemplatefile(ByVal vNewValue)
    Dim StyleSheet
    Dim vNewValue_
    vNewValue_ = vNewValue
    If Not InStr(vNewValue,":\") > 0 Then
      vNewValue = Server.MapPath(vNewValue)
    End If
    Set XSLTemplate=Server.CreateObject("Msxml2.XSLTemplate")
    Set StyleSheet=Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
    StyleSheet.load vNewValue
    XSLTemplate.StyleSheet=StyleSheet
  End Property
  Public Sub Transform()
    Dim proc
    Set proc = XSLTemplate.createProcessor()
    proc.input=linput
    proc.transform()
    Output=proc.output
    Set proc=Nothing
  End Sub
End Class

使用範例:

以下是引用片段:

Set XMLDOM = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
XMLDOM.async = false
XMLDOM.load(Server.MapPath("bi2.xml"))
Set o=new Cls_IO_Transform
o.XSLTemplatefile="bi2.xsl"
o.Input=XMLDOM
o.Transform()
response.write o.Output()

這裡處理的直接是XmlDom對象了,如果需要,靈活可以修改。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.