Transformation xslt en .net 2.0

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 515 fois - Téléchargée 27 fois

Contenu du snippet

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 :)

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
22 février 2008

Ce code est bien pratique, mais je travaille malheureusement en .NET 1.1... pourrait on le traduire ou y'a t'il une source similaire qui existe ?
Messages postés
2
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
15 février 2008

Merci! Enfin un exemple clair et simple de fusion xml et xsl en C# !
Tu m'as sauvée l'enervement! (je suis une gra&nde adepte de XML et XSL mais plus spécialiste en developpements Javascript que C#)
Messages postés
22
Date d'inscription
dimanche 7 novembre 2004
Statut
Membre
Dernière intervention
27 mai 2016

cette source ne focntionne pas avec l'imporation de fichier xsl <xsl:import> je cherche actuelemnt une solution a ce probleme
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
en fait, la transformation XLST du framework 1.1 fonctionne toujours (compatibilité oblige), mais beaucoup de classe sont obsolètes.
Messages postés
507
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
13 mai 2009
1
Ok, merci pour les précisions
Afficher les 7 commentaires

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.