2011-05-09 3 views
3

J'ai une application basée sur .NET qui reçoit un fichier XML entrant. Je voudrais transformer le fichier XML en HTML en utilisant une feuille de style XSL que j'ai. Ceci est mon processus ...XSL Transformation of XML - Exemple simple de .NET?

  1. Lire le fichier XML soumis de système de fichiers
  2. Appliquer au format XML pour XSL transformation
  3. Imprimer résultante HTML à l'écran comme HTML

Quelqu'un at-il par exemple code qui montre comment faire cela? Je vous remercie.

+0

Avez-vous regardé l'un des nombreux tutoriels qui couvrent cela, comme http://msdn.microsoft.com/en-us/library/ms912472.aspx? Lorsque vous postez des questions sur l'OS, vous devez d'abord faire un effort pour y répondre vous-même, puis poser des questions spécifiques sur ce que vous avez essayé. Nous sommes tous des bénévoles ici et nous ne ferons pas votre travail pour vous. –

+0

Merci pour le lien. Juste par curiosité, pourquoi supposez-vous que je n'ai pas cherché la réponse avant de poser la question? – webworm

+1

@John - Tandis que vous considérez que la réponse est facile à trouver et à comprendre, d'autres ne le peuvent pas. Rappelez-vous, avant que vous et Jim étiez où vous êtes aujourd'hui, vous avez probablement eu des questions que ceux qui avaient plus d'expérience pensaient aussi étaient simples et «faciles à trouver et à comprendre». – webworm

Répondre

6

Voici un exemple très court de la MSDN .NET documentation sur l'utilisation de la méthode Transform() de la XslCompiledTransform classe qui est une partie standard de .NET (mis en œuvre dans l'espace de noms System.Xml.Xsl):

// Load the style sheet. 
XslCompiledTransform xslt = new XslCompiledTransform(); 
xslt.Load("output.xsl"); 

// Create the FileStream. 
using (FileStream fs = new FileStream(@"c:\data\output.xml", FileMode.Create)) 
{ 
    // Execute the transformation. 
    xslt.Transform(new XPathDocument("books.xml"), null, fs); 
} 

Ce qui reste à faire est d'appeler le navigateur et de transmettre le résultat de la transformation, contenu dans le flux fs. Si l'efficacité est importante, on peut choisir d'utiliser le flux mémoire sur le flux de fichiers.

Vous devez vous familiariser avec les autres surcharges de la méthode Transform()* et choisir celui qui est le mieux pour vous.

1

Vous avez pas vraiment dit que le processeur XSLT que vous utilisez. Il y en a au moins trois disponibles: Microsoft, qui ne supporte que XSLT 1.0, et Saxon et XQSharp qui supportent XSLT 2.0. Tous ont malheureusement des API différentes.