ASP处理XSLT转换XML的实现
使用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对象了,如果需要,灵活可以修改。