Il est relativement simple d'utiliser ASP pour traiter XSLT et convertir XML. L'idée est la suivante : créer un objet XSLTemplate, puis créer un objet XMLDOM, puis créer le fichier Xml et le fichier XSLT à la maison, et enfin utiliser la méthode de transformation et inclure. dans la classe. Le code spécifique est le suivant :
Voici un extrait de citation :
Classe Cls_Xml_Transform
Entrée privée, modèle XSL
p_Sortie privée
Propriété publique Obtenir la sortie()
Sortie = p_Output
Propriété de fin
Propriété privée Let Output (ByVal strInfo)
p_Output = strInfo
Propriété de fin
Propriété publique Let Input (ByVal vNewValue)
Si IsObject (vNewValue) alors définissez lInput = vNewValue
Propriété de fin
Propriété publique Let XSLTemplatefile(ByVal vNewValue)
Feuille de style Dim
Dim vNewValue_
vNouvelleValeur_ = vNouvelleValeur
Si ce n'est pas InStr(vNewValue,":") > 0 Alors
vNewValue = Server.MapPath(vNewValue)
Fin si
Définir XSLTemplate=Server.CreateObject("Msxml2.XSLTemplate")
Définir StyleSheet=Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
StyleSheet.load vNewValue
XSLTemplate.StyleSheet=Feuille de style
Propriété de fin
Sous-Transformation publique()
Dim proc
Définir proc = XSLTemplate.createProcessor()
proc.input=linput
proc.transform()
Sortie=proc.output
Définir proc=Rien
Fin du sous-marin
Fin du cours
Exemple d'utilisation :
Ce qui suit est un fragment de citation :
Définir XMLDOM = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
XMLDOM.async = faux
XMLDOM.load(Server.MapPath("bi2.xml"))
Définir o = nouveau Cls_IO_Transform
o.XSLTemplatefile="bi2.xsl"
o.Input=XMLDOM
o.Transformer()
réponse.write o.Output()
traite directement l'objet XmlDom, qui peut être modifié de manière flexible si nécessaire.