Bonjour, :)
je me suis penché dernièrement sur les modifications du framework .net 2.0, et la partie transformation XSL a été changée et n'est pas très aisée d'utilisation. Voici donc ci-dessous un code SIMPLE à mettre en oeuvre pour faire une trsnformation à partir de fichiers XML et XSL
Source / Exemple :
public string Transform_XMLFile_With_XSLTFile(string XML_Filename,string XSL_Filename)
{
//On charge le fichier XML dans un XmlDocument
XmlDocument reader = new XmlDocument();
reader.Load(XML_Filename);
//On charge le fichier XSL dans un XmlDocument
XmlDocument XSLTDocument = new XmlDocument();
XSLTDocument.Load(XSL_Filename);
//Création du lecteur XML
XmlNodeReader XSLTDocumentReader = new XmlNodeReader(reader);
//Création du transformateur XSLT
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(XSLTDocument,null,null);
//là où sera enregistré la transformation
StringBuilder TransformOutput = new StringBuilder();
//paramètre d'écriture du fichier transformé
XmlWriterSettings settings = new XmlWriterSettings();
//paramètre un peu spécial, consultez msdn
settings.ConformanceLevel = ConformanceLevel.Auto;
//xslt.OutputSettings correspond aux paramètres <xsl:output> dans votre fichier XSL
//veillez à bien spécifier la sortie en html <xsl:output method="html" /> autrement
//c'est "xml" par défaut et les balises vides (exemple <div></div>) seront transformées
//en (</div>)
XmlWriter htmlDoc = XmlWriter.Create(TransformOutput, xslt.OutputSettings);
xslt.Transform(XSLTDocumentReader, null, htmlDoc, new XmlUrlResolver());
return TransformOutput.ToString();
}
Conclusion :
Bonnes transformations :)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.