ASP处理XSLT转换XML的实现

王朝asp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

使用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对象了,如果需要,灵活可以修改。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航