Share via


XslTransform.Transform Méthode

Définition

Transforme les données XML en utilisant la feuille de style XSLT chargée.

Surcharges

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans XmlReader.

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans TextWriter.

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans Stream.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans TextWriter.

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans Stream.

Transform(XPathNavigator, XsltArgumentList, XmlWriter)
Obsolète.

Convertit les données XML spécifiées dans XPathNavigator en utilisant les arguments spécifiés et renvoie le résultat dans XmlWriter.

Transform(XPathNavigator, XsltArgumentList, TextWriter)
Obsolète.

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans TextWriter.

Transform(String, String, XmlResolver)

Convertit les données XML dans le fichier d'entrée et renvoie le résultat dans un fichier de sortie.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
Obsolète.

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans XmlReader.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)
Obsolète.

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans TextWriter.

Transform(IXPathNavigable, XsltArgumentList, Stream)
Obsolète.

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans Stream.

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

Convertit les données XML spécifiées dans XPathNavigator en utilisant les arguments spécifiés et renvoie le résultat dans XmlWriter.

Transform(XPathNavigator, XsltArgumentList)
Obsolète.

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans XmlReader.

Transform(IXPathNavigable, XsltArgumentList)
Obsolète.

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans XmlReader.

Transform(String, String)
Obsolète.

Convertit les données XML dans le fichier d'entrée et renvoie le résultat dans un fichier de sortie.

Transform(XPathNavigator, XsltArgumentList, Stream)
Obsolète.

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans Stream.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans XmlReader.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList, resolver As XmlResolver) As XmlReader

Paramètres

input
XPathNavigator

XPathNavigator contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

resolver
XmlResolver

XmlResolver utilisé pour résoudre la fonction document() XSLT. S’il s’agit de null, la fonction document() n’est pas résolue.

XmlResolver n'est pas mis en cache à la fin de la méthode Transform(XPathNavigator, XsltArgumentList, XmlResolver).

Retours

XmlReader

XmlReader contenant les résultats de la transformation.

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. Les sélections de transformation s’appliquent au document dans son ensemble. En d’autres termes, si le nœud actuel est défini sur une arborescence de nœuds autre que le nœud racine du document, cela n’empêche pas le processus de transformation d’accéder à tous les nœuds du document chargé. Une fois la transformation effectuée, le XPathNavigator reste dans son état d’origine. Cela signifie que le nœud, qui est actuel avant le processus de transformation, reste le nœud actuel après l’appel de la Transform méthode.

Étant donné que XmlReader fournit une sortie en lecture seule, l’élément xsl:output est ignoré. Pour plus d’informations, consultez Sorties d’un XslTransform .

Cette méthode vous permet d’effectuer une transformation asynchrone du document source.

Voir aussi

S’applique à

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans TextWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter, resolver As XmlResolver)

Paramètres

input
XPathNavigator

XPathNavigator contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
TextWriter

TextWriter vers lequel vous souhaitez exporter.

resolver
XmlResolver

XmlResolver utilisé pour résoudre la fonction document() XSLT. S’il s’agit de null, la fonction document() n’est pas résolue.

XmlResolver n'est pas mis en cache à la fin de la méthode Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver).

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. Les sélections de transformation s’appliquent au document dans son ensemble. En d’autres termes, si le nœud actuel est défini sur une arborescence de nœuds autre que le nœud racine du document, cela n’empêche pas le processus de transformation d’accéder à tous les nœuds du document chargé. Une fois la transformation effectuée, elle XPathNavigator reste dans son état d’origine. Cela signifie que le nœud, qui est actuel avant le processus de transformation, reste le nœud actuel après l’appel de la Transform méthode.

L’attribut d’encodage sur un xsl:output élément n’est pas pris en charge lors de la sortie vers un TextWriter. Consultez les sorties d’un XslTransform pour connaître les attributs pris xsl:output en charge.

Voir aussi

S’applique à

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans Stream.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream, resolver As XmlResolver)

Paramètres

input
XPathNavigator

XPathNavigator contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
Stream

Flux dans lequel vous voulez générer le résultat.

resolver
XmlResolver

XmlResolver utilisé pour résoudre la fonction document() XSLT. S’il s’agit de null, la fonction document() n’est pas résolue.

XmlResolver n'est pas mis en cache à la fin de la méthode Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver).

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Exemples

L’exemple suivant charge une table client dans une XmlDataDocument transformation XSLT et effectue une transformation XSLT pour extraire les données client dans une table HTML. L’exemple utilise la base de données Northwind Microsoft SQL Server 2000.

using System;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;

public class Sample
{
  public static void Main()
  {

     // Create a DataSet and load it with customer data.
     DataSet dsNorthwind = new DataSet();
     String sConnect;
     sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
     SqlConnection nwconnect = new SqlConnection(sConnect);
     String sCommand = "Select * from Customers where Region='WA'";
     SqlDataAdapter myDataAdapter = new SqlDataAdapter(sCommand, nwconnect);
     myDataAdapter.Fill(dsNorthwind,"Customers");

     // Load the DataSet into an XmlDataDocument.
     XmlDataDocument doc = new XmlDataDocument(dsNorthwind);

     // Create the XslTransform object and load the stylesheet.
     XslTransform xsl = new XslTransform();
     xsl.Load("customers.xsl");

     // Create an XPathNavigator to use in the transform.
     XPathNavigator nav = doc.CreateNavigator();

     // Create a FileStream object.
     FileStream fs = new FileStream("cust.html", FileMode.Create);

     // Transform the data.
     xsl.Transform(nav, null, fs, null);
  }
}
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Xsl

public class Sample

  public shared sub Main()

     ' Create a DataSet and load it with customer data.
     Dim dsNorthwind as DataSet = new DataSet()        
     Dim sConnect as String           
     sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind"     
     Dim nwconnect as SqlConnection
     nwconnect = new SqlConnection(sConnect)
     Dim sCommand as String = "Select * from Customers where Region='WA'"
     Dim myDataAdapter as SqlDataAdapter
     myDataAdapter = new SqlDataAdapter(sCommand, nwconnect)
     myDataAdapter.Fill(dsNorthwind,"Customers")

     ' Load the DataSet into an XmlDataDocument.
     Dim doc as XmlDataDocument = new XmlDataDocument(dsNorthwind)   

     ' Create the XslTransform object and load the stylesheet.
     Dim xsl as XslTransform = new XslTransform()     
     xsl.Load("customers.xsl")

     ' Create an XPathNavigator to use in the transform.
     Dim nav as XPathNavigator = doc.CreateNavigator()

     ' Create a FileStream object.
     Dim fs as FileStream = new FileStream("cust.html", FileMode.Create)
 
     ' Transform the data.
     xsl.Transform(nav, nothing, fs, nothing)
    
  end sub
end class

L'exemple prend le fichier customers.xsl comme entrée.

<!-- Stylesheet to sort customers by city-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:template match="NewDataSet">
    <HTML>
      <BODY>
        <TABLE BORDER="2">
          <TR>
            <TD>Company Name</TD>
            <TD>Contact Name</TD>
            <TD>City</TD>
          </TR>
         <xsl:apply-templates select="Customers">
            <xsl:sort select="City"/>
         </xsl:apply-templates>
        </TABLE>
      </BODY>
    </HTML>
  </xsl:template>

  <xsl:template match="Customers">
    <TR>
      <TD><xsl:value-of select="CompanyName"/></TD>
      <TD><xsl:value-of select="ContactName"/></TD>
      <TD><xsl:value-of select="City"/></TD>
    </TR>
  </xsl:template>

</xsl:stylesheet>

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. Les sélections de transformation s’appliquent au document dans son ensemble. En d’autres termes, si le nœud actuel est défini sur une arborescence de nœuds autre que le nœud racine du document, cela n’empêche pas le processus de transformation d’accéder à tous les nœuds du document chargé. Une fois la transformation effectuée, le XPathNavigator reste dans son état d’origine. Cela signifie que le nœud, qui est actuel avant le processus de transformation, reste le nœud actuel après l’appel de la Transform méthode.

Consultez les sorties d’un XslTransform pour connaître les attributs pris xsl:output en charge.

Voir aussi

S’applique à

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans XmlWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As XmlWriter, resolver As XmlResolver)

Paramètres

input
IXPathNavigable

Objet implémentant l'interface IXPathNavigable. Dans le .NET Framework, il peut s’agir de XmlNode (généralement XmlDocument) ou de XPathDocument contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
XmlWriter

XmlWriter vers lequel vous souhaitez exporter.

resolver
XmlResolver

XmlResolver utilisé pour résoudre la fonction document() XSLT. S’il s’agit de null, la fonction document() n’est pas résolue.

XmlResolver n'est pas mis en cache à la fin de la méthode Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver).

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Exemples

L’exemple suivant transforme un document XML en document HTML. Il affiche l’ISBN, le titre et le prix de chaque livre d’une table.

#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Xsl;
using namespace System::Xml::XPath;

int main()
{
   String^ filename = "books.xml";
   String^ stylesheet = "output.xsl";

   //Load the stylesheet.
   XslTransform^ xslt = gcnew XslTransform;
   xslt->Load( stylesheet );

   //Load the file to transform.
   XPathDocument^ doc = gcnew XPathDocument( filename );

   //Create an XmlTextWriter which outputs to the console.
   XmlTextWriter^ writer = gcnew XmlTextWriter( Console::Out );

   //Transform the file and send the output to the console.
   xslt->Transform(doc,nullptr,writer,nullptr);
   writer->Close();
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

public class Sample
{
  private const String filename = "books.xml";
  private const String stylesheet = "output.xsl";

  public static void Main()
  {
    //Load the stylesheet.
    XslTransform xslt = new XslTransform();
    xslt.Load(stylesheet);

    //Load the file to transform.
    XPathDocument doc = new XPathDocument(filename);

    //Create an XmlTextWriter which outputs to the console.
    XmlTextWriter writer = new XmlTextWriter(Console.Out);

    //Transform the file and send the output to the console.
    xslt.Transform(doc, null, writer, null);
    writer.Close();
  }
}
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

Public Class Sample
    Private Shared filename1 As String = "books.xml"
    Private Shared stylesheet1 As String = "output.xsl"
    
    
    Public Shared Sub Main()
        'Load the stylesheet.
        Dim xslt As New XslTransform()
        xslt.Load(stylesheet1)
        
        'Load the file to transform.
        Dim doc As New XPathDocument(filename1)
        
        'Create an XmlTextWriter which outputs to the console.
        Dim writer As New XmlTextWriter(Console.Out)
        
        'Transform the file and send the output to the console.
        xslt.Transform(doc, Nothing, writer, Nothing)
        writer.Close()
    End Sub
End Class

L'exemple utilise les deux fichiers d'entrée suivants.

books.xml

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

output.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="bookstore">
  <HTML>
    <BODY>
      <TABLE BORDER="2">
        <TR>
          <TD>ISBN</TD>
          <TD>Title</TD>
          <TD>Price</TD>
        </TR>
        <xsl:apply-templates select="book"/>
      </TABLE>
    </BODY>
  </HTML>
</xsl:template>
<xsl:template match="book">
  <TR>
    <TD><xsl:value-of select="@ISBN"/></TD>
    <TD><xsl:value-of select="title"/></TD>
    <TD><xsl:value-of select="price"/></TD>
  </TR>
</xsl:template>
</xsl:stylesheet>

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. L’élément xsl:output n’est pas pris en charge lors de la sortie d’un XmlWriter (xsl:output est ignoré). Pour plus d’informations, consultez Sorties d’un XslTransform .

Les transformations s'appliquent à l'ensemble du document. En d'autres termes, si vous passez dans un autre nœud que le nœud racine du document, cela n'empêche pas le processus de transformation d'accéder à tous les nœuds dans le document chargé. Pour transformer un fragment de nœud, vous devez créer un XmlDocument fragment contenant uniquement le fragment de nœud et le transmettre XmlDocument à la Transform méthode.

L’exemple suivant effectue une transformation sur un fragment de nœud.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

L’exemple utilise les fichiers et print_root.xsl les library.xml entrées comme sorties suivantes dans la console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />  
  <template match="/">  
  Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Voir aussi

S’applique à

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans TextWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As TextWriter, resolver As XmlResolver)

Paramètres

input
IXPathNavigable

Objet implémentant l'interface IXPathNavigable. Dans le .NET Framework, il peut s’agir de XmlNode (généralement XmlDocument) ou de XPathDocument contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
TextWriter

TextWriter vers lequel vous souhaitez exporter.

resolver
XmlResolver

XmlResolver utilisé pour résoudre la fonction document() XSLT. S’il s’agit de null, la fonction document() n’est pas résolue.

XmlResolver n'est pas mis en cache à la fin de la méthode Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver).

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Exemples

L’exemple suivant transforme un fichier XML et génère une chaîne HTML. Les classes et StringWriter les StringReader classes sont utilisées pour lire et écrire les chaînes.

using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

public class Sample {

  public static void Main() {

    // Create a string containing the XSLT stylesheet.
    String xsltString =
    @"<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
        <xsl:template match='bookstore'>
           <HTML>
              <HEAD>
                 <TITLE>Book Titles</TITLE>
             </HEAD>
             <BODY>
                <xsl:apply-templates select='book'/>
             </BODY>
          </HTML>
        </xsl:template>
        <xsl:template match='book'>
          <P><xsl:value-of select='title'/></P>
        </xsl:template>
        </xsl:stylesheet>";

    // Create the XslTransform object.
    XslTransform xslt = new XslTransform();

    // Load the stylesheet.
    StringReader rdr = new StringReader(xsltString);
    xslt.Load(new XPathDocument(rdr), null, null);

    // Transform the file and output an HTML string.
    string HTMLoutput;
    StringWriter writer = new StringWriter();
    xslt.Transform(new XPathDocument("books.xml"), null, writer, null);
    HTMLoutput = writer.ToString();
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

public class Sample 

  public shared sub Main() 
   
    ' Create a string containing the XSLT stylesheet.
    Dim xsltString as String 
    xsltString = "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>" & _
    "   <xsl:template match='bookstore'>" & _
    "      <HTML>" & _
    "         <HEAD>" & _
    "            <TITLE>Book Titles</TITLE>" & _
    "       </HEAD>" & _
    "        <BODY>" & _
    "           <xsl:apply-templates select='book'/>" & _
    "        </BODY>" & _
    "     </HTML>" & _
    "   </xsl:template>" & _
    "  <xsl:template match='book'>" & _
    "     <P><xsl:value-of select='title'/></P>" & _
    "   </xsl:template>" & _
    "   </xsl:stylesheet>"

    ' Create the XslTransform object.
    Dim xslt as XslTransform = new XslTransform()

    ' Load the stylesheet.
    Dim rdr as StringReader = new StringReader(xsltString)
    xslt.Load(new XPathDocument(rdr), nothing, nothing)

    ' Transform the file and output an HTML string.
    Dim HTMLoutput as string
    Dim writer as StringWriter = new StringWriter()
    xslt.Transform(new XPathDocument("books.xml"), nothing, writer, nothing)
    HTMLoutput = writer.ToString()

  end sub
end class

L'exemple prend le fichier books.xml comme entrée.

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style.

L’attribut d’encodage sur un xsl:output élément n’est pas pris en charge lors de la sortie vers un TextWriter. Consultez les sorties d’un XslTransform pour connaître les attributs pris xsl:output en charge.

Les transformations s'appliquent à l'ensemble du document. En d'autres termes, si vous passez dans un autre nœud que le nœud racine du document, cela n'empêche pas le processus de transformation d'accéder à tous les nœuds dans le document chargé. Pour transformer un fragment de nœud, vous devez créer un XmlDocument fragment contenant uniquement le fragment de nœud et le transmettre XmlDocument à la Transform méthode.

L’exemple suivant effectue une transformation sur un fragment de nœud.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

L’exemple utilise les fichiers et print_root.xsl les library.xml entrées comme sorties suivantes dans la console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Voir aussi

S’applique à

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans Stream.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As Stream, resolver As XmlResolver)

Paramètres

input
IXPathNavigable

Objet implémentant l'interface IXPathNavigable. Dans le .NET Framework, il peut s’agir de XmlNode (généralement XmlDocument) ou de XPathDocument contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
Stream

Flux dans lequel vous voulez générer le résultat.

resolver
XmlResolver

XmlResolver utilisé pour résoudre la fonction document() XSLT. S’il s’agit de null, la fonction document() n’est pas résolue.

XmlResolver n'est pas mis en cache à la fin de la méthode Transform.

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Exemples

L’exemple suivant effectue une transformation dans une page ASP.NET.

<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script language="C#" runat="server">
      void Page_Load(Object sender, EventArgs e) 
      {
         // Load the XML document to transform.
         XPathDocument doc = new XPathDocument(Server.MapPath("books.xml"));

         // Load the stylesheet and perform the transform.
         XslTransform xslt = new XslTransform();
         xslt.Load(Server.MapPath("output.xsl"));
         xslt.Transform(doc, null, Response.OutputStream, null);
        
      }
   </script>
</html>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script language="VB" runat="server">
      sub Page_Load(sender as Object, e as EventArgs) 

         ' Load the XML document to transform.
         dim doc as XPathDocument = new XPathDocument(Server.MapPath("books.xml"))

         ' Load the stylesheet and perform the transform.
         dim xslt as XslTransform = new XslTransform()
         xslt.Load(Server.MapPath("output.xsl"))
         xslt.Transform(doc, nothing, Response.OutputStream, nothing)
        
      end sub
   </script>
</html>

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style.

Les transformations s'appliquent à l'ensemble du document. En d'autres termes, si vous passez dans un autre nœud que le nœud racine du document, cela n'empêche pas le processus de transformation d'accéder à tous les nœuds dans le document chargé. Pour transformer un fragment de nœud, vous devez créer un XmlDocument fragment contenant uniquement le fragment de nœud et le transmettre XmlDocument à la Transform méthode.

L’exemple suivant effectue une transformation sur un fragment de nœud.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

L’exemple utilise les fichiers et print_root.xsl les library.xml entrées comme sorties suivantes dans la console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Voir aussi

S’applique à

Transform(XPathNavigator, XsltArgumentList, XmlWriter)

Attention

You should pass XmlResolver to Transform() method

Convertit les données XML spécifiées dans XPathNavigator en utilisant les arguments spécifiés et renvoie le résultat dans XmlWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter)

Paramètres

input
XPathNavigator

XPathNavigator contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
XmlWriter

XmlWriter vers lequel vous souhaitez exporter.

Attributs

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. Les sélections de transformation s’appliquent au document dans son ensemble. En d’autres termes, si le nœud actuel est défini sur une arborescence de nœuds autre que le nœud racine du document, cela n’empêche pas le processus de transformation d’accéder à tous les nœuds du document chargé. Une fois la transformation effectuée, elle XPathNavigator reste dans son état d’origine. Cela signifie que le nœud, qui est actuel avant le processus de transformation, reste le nœud actuel après l’appel de la Transform méthode.

L’élément xsl:output n’est pas pris en charge lors de la sortie d’un XmlWriter (xsl:output est ignoré). Pour plus d’informations, consultez Sorties d’un XslTransform .

Notes

cette méthode est désormais obsolète. Le paramètre de la XmlResolver propriété détermine la façon dont la fonction XSLT document() est résolue. La pratique recommandée consiste à utiliser la Transform méthode qui prend un objet comme l’un XmlResolver de ses arguments.

Voir aussi

S’applique à

Transform(XPathNavigator, XsltArgumentList, TextWriter)

Attention

You should pass XmlResolver to Transform() method

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans TextWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter)

Paramètres

input
XPathNavigator

XPathNavigator contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
TextWriter

TextWriter vers lequel vous souhaitez exporter.

Attributs

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. Les sélections de transformation s’appliquent au document dans son ensemble. En d’autres termes, si le nœud actuel est défini sur une arborescence de nœuds autre que le nœud racine du document, cela n’empêche pas le processus de transformation d’accéder à tous les nœuds du document chargé. Une fois la transformation effectuée, elle XPathNavigator reste dans son état d’origine. Cela signifie que le nœud, qui est actuel avant le processus de transformation, reste le nœud actuel après l’appel de la Transform méthode.

L’attribut d’encodage sur un xsl:output élément n’est pas pris en charge lors de la sortie vers un TextWriter. Consultez les sorties d’un XslTransform pour connaître les attributs pris xsl:output en charge.

Notes

cette méthode est désormais obsolète. Le paramètre de la XmlResolver propriété détermine la façon dont la fonction XSLT document() est résolue. La pratique recommandée consiste à utiliser la Transform méthode qui prend un objet comme l’un XmlResolver de ses arguments.

Voir aussi

S’applique à

Transform(String, String, XmlResolver)

Convertit les données XML dans le fichier d'entrée et renvoie le résultat dans un fichier de sortie.

public:
 void Transform(System::String ^ inputfile, System::String ^ outputfile, System::Xml::XmlResolver ^ resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver? resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver resolver);
member this.Transform : string * string * System.Xml.XmlResolver -> unit
Public Sub Transform (inputfile As String, outputfile As String, resolver As XmlResolver)

Paramètres

inputfile
String

URL du document source à transformer.

outputfile
String

URL du fichier de sortie.

resolver
XmlResolver

XmlResolver utilisé pour résoudre la fonction document() XSLT. S’il s’agit de null, la fonction document() n’est pas résolue.

XmlResolver n'est pas mis en cache à la fin de la méthode Transform.

Exemples

L’exemple suivant effectue une transformation et des sorties XSLT dans un fichier. Une XmlUrlResolver avec les informations d’identification par défaut est utilisée pour résoudre une ressource externe. Pour plus d'informations, consultez DefaultCredentials.

// Create a resolver with default credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = System::Net::CredentialCache::DefaultCredentials;

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "http://myServer/data/authors.xsl", resolver );

// Transform the file.
xslt->Transform( "books.xml", "books.html", resolver );

// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Create the XslTransform object.
XslTransform xslt = new XslTransform();

// Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver);

// Transform the file.
xslt.Transform("books.xml", "books.html", resolver);

' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

' Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver)

' Transform the file. 
xslt.Transform("books.xml", "titles.xml", resolver)

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Voir aussi

S’applique à

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Attention

You should pass XmlResolver to Transform() method

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans XmlWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As XmlWriter)

Paramètres

input
IXPathNavigable

Objet implémentant l'interface IXPathNavigable. Dans le .NET Framework, il peut s’agir de XmlNode (généralement XmlDocument) ou de XPathDocument contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
XmlWriter

XmlWriter vers lequel vous souhaitez exporter.

Attributs

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Notes

cette méthode est désormais obsolète. Le paramètre de la XmlResolver propriété détermine la façon dont la fonction XSLT document() est résolue. La pratique recommandée consiste à utiliser la Transform méthode qui prend un objet comme l’un XmlResolver de ses arguments.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. L’élément xsl:output n’est pas pris en charge lors de la sortie d’un XmlWriter (xsl:output est ignoré). Pour plus d’informations, consultez Sorties d’un XslTransform .

Les transformations s'appliquent à l'ensemble du document. En d'autres termes, si vous passez dans un autre nœud que le nœud racine du document, cela n'empêche pas le processus de transformation d'accéder à tous les nœuds dans le document chargé. Pour transformer un fragment de nœud, vous devez créer un XmlDocument fragment contenant uniquement le fragment de nœud et le transmettre XmlDocument à la Transform méthode.

L’exemple suivant effectue une transformation sur un fragment de nœud.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

L’exemple utilise les fichiers et print_root.xsl les library.xml entrées comme sorties suivantes dans la console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />  
  <template match="/">  
  Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Voir aussi

S’applique à

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans XmlReader.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList, resolver As XmlResolver) As XmlReader

Paramètres

input
IXPathNavigable

Objet implémentant l'interface IXPathNavigable. Dans le .NET Framework, il peut s’agir de XmlNode (généralement XmlDocument) ou de XPathDocument contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

resolver
XmlResolver

XmlResolver utilisé pour résoudre la fonction document() XSLT. S’il s’agit de null, la fonction document() n’est pas résolue.

XmlResolver n'est pas mis en cache à la fin de la méthode Transform(IXPathNavigable, XsltArgumentList, XmlResolver).

Retours

XmlReader

XmlReader contenant les résultats de la transformation.

Exemples

L’exemple suivant transforme un document XML et génère les résultats en un XmlReader. Une XmlUrlResolver avec les informations d’identification nécessaires est utilisée pour traiter toutes les fonctions XSLT document() .

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "titles.xsl" );

// Create a resolver and specify the necessary credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
System::Net::NetworkCredential^ myCred;
myCred = gcnew System::Net::NetworkCredential( UserName, SecurelyStoredPassword, Domain );
resolver->Credentials = myCred;

// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument^ doc = gcnew XPathDocument( "books.xml" );
XmlReader^ reader = xslt->Transform( doc, nullptr, resolver );

// Load the reader into a new document for more processing.
XmlDocument^ xmldoc = gcnew XmlDocument;
xmldoc->Load( reader );
// Create the XslTransform object.
XslTransform xslt = new XslTransform();

// Load the stylesheet.
xslt.Load("titles.xsl");

// Create a resolver and specify the necessary credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
System.Net.NetworkCredential myCred;
myCred  = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain);
resolver.Credentials = myCred;

// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument doc = new XPathDocument("books.xml");
XmlReader reader = xslt.Transform(doc, null, resolver);

// Load the reader into a new document for more processing.
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(reader);
' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

' Load the stylesheet.
xslt.Load("titles.xsl")

' Create a resolver and specify the necessary credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
Dim myCred as System.Net.NetworkCredential 
myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain)
resolver.Credentials = myCred

' Transform thefile using the resolver. The resolver is used
' to process the XSLT document() function.
Dim doc as XPathDocument = new XPathDocument("books.xml")
Dim reader as XmlReader = xslt.Transform(doc, nothing, resolver)

' Load the reader into a new document for more processing.
Dim xmldoc as XmlDocument = new XmlDocument()
xmldoc.Load(reader)

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. L’élément xsl:output n’est pas pris en charge lors de la sortie d’un XmlReader élément (l’élément xsl:output est ignoré). Pour plus d’informations, consultez Sorties d’un XslTransform .

Cette méthode vous permet d’effectuer une transformation asynchrone du document source.

Les transformations s'appliquent à l'ensemble du document. En d'autres termes, si vous passez dans un autre nœud que le nœud racine du document, cela n'empêche pas le processus de transformation d'accéder à tous les nœuds dans le document chargé. Pour transformer un fragment de nœud, vous devez créer un XmlDocument fragment contenant uniquement le fragment de nœud et le transmettre XmlDocument à la Transform méthode.

L’exemple suivant effectue une transformation sur un fragment de nœud.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

L’exemple utilise les fichiers et print_root.xsl les library.xml entrées comme sorties suivantes dans la console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Voir aussi

S’applique à

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Attention

You should pass XmlResolver to Transform() method

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans TextWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As TextWriter)

Paramètres

input
IXPathNavigable

Objet implémentant l'interface IXPathNavigable. Dans le .NET Framework, il peut s’agir de XmlNode (généralement XmlDocument) ou de XPathDocument contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
TextWriter

TextWriter vers lequel vous souhaitez exporter.

Attributs

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Notes

cette méthode est désormais obsolète. Le paramètre de la XmlResolver propriété détermine la façon dont la fonction XSLT document() est résolue. La pratique recommandée consiste à utiliser la Transform méthode qui prend un objet comme l’un XmlResolver de ses arguments.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style.

L’attribut d’encodage sur un xsl:output élément n’est pas pris en charge lors de la sortie vers un TextWriter. Consultez les sorties d’un XslTransform pour connaître les attributs pris xsl:output en charge.

Les transformations s'appliquent à l'ensemble du document. En d'autres termes, si vous passez dans un autre nœud que le nœud racine du document, cela n'empêche pas le processus de transformation d'accéder à tous les nœuds dans le document chargé. Pour transformer un fragment de nœud, vous devez créer un XmlDocument fragment contenant uniquement le fragment de nœud et le transmettre XmlDocument à la Transform méthode.

L’exemple suivant effectue une transformation sur un fragment de nœud.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

L’exemple utilise les fichiers et print_root.xsl les library.xml entrées comme sorties suivantes dans la console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Voir aussi

S’applique à

Transform(IXPathNavigable, XsltArgumentList, Stream)

Attention

You should pass XmlResolver to Transform() method

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans Stream.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As Stream)

Paramètres

input
IXPathNavigable

Objet implémentant l'interface IXPathNavigable. Dans le .NET Framework, il peut s’agir de XmlNode (généralement XmlDocument) ou de XPathDocument contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
Stream

Flux dans lequel vous voulez générer le résultat.

Attributs

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Notes

cette méthode est désormais obsolète. Le paramètre de la XmlResolver propriété détermine la façon dont la fonction XSLT document() est résolue. La pratique recommandée consiste à utiliser la Transform méthode qui prend un objet comme l’un XmlResolver de ses arguments.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style.

Les transformations s'appliquent à l'ensemble du document. En d'autres termes, si vous passez dans un autre nœud que le nœud racine du document, cela n'empêche pas le processus de transformation d'accéder à tous les nœuds dans le document chargé. Pour transformer un fragment de nœud, vous devez créer un XmlDocument fragment contenant uniquement le fragment de nœud et le transmettre XmlDocument à la Transform méthode.

L’exemple suivant effectue une transformation sur un fragment de nœud.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

L’exemple utilise les fichiers et print_root.xsl les library.xml entrées comme sorties suivantes dans la console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Voir aussi

S’applique à

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

Convertit les données XML spécifiées dans XPathNavigator en utilisant les arguments spécifiés et renvoie le résultat dans XmlWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter, resolver As XmlResolver)

Paramètres

input
XPathNavigator

XPathNavigator contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
XmlWriter

XmlWriter vers lequel vous souhaitez exporter.

resolver
XmlResolver

XmlResolver utilisé pour résoudre la fonction document() XSLT. S’il s’agit de null, la fonction document() n’est pas résolue.

XmlResolver n'est pas mis en cache à la fin de la méthode Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver).

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Exemples

L’exemple suivant charge et modifie un document XML avant d’effectuer une transformation XSLT.

XmlDocument^ doc = gcnew XmlDocument;
doc->Load( "books.xml" );

// Modify the XML file.
XmlElement^ root = doc->DocumentElement;
root->FirstChild->LastChild->InnerText = "12.95";

// Create an XPathNavigator to use for the transform.
XPathNavigator^ nav = root->CreateNavigator();

// Transform the file.
XslTransform^ xslt = gcnew XslTransform;
xslt->Load( "output.xsl" );
XmlTextWriter^ writer = gcnew XmlTextWriter( "books.html", nullptr );
xslt->Transform( nav, nullptr, writer, nullptr);
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");

// Modify the XML file.
XmlElement root = doc.DocumentElement;
root.FirstChild.LastChild.InnerText = "12.95";

// Create an XPathNavigator to use for the transform.
XPathNavigator nav = root.CreateNavigator();

// Transform the file.
XslTransform xslt = new XslTransform();
xslt.Load("output.xsl");
XmlTextWriter writer = new XmlTextWriter("books.html", null);
xslt.Transform(nav, null, writer, null);
Dim doc as XmlDocument = new XmlDocument()
doc.Load("books.xml")

' Modify the XML file.
Dim root as XmlElement = doc.DocumentElement
root.FirstChild.LastChild.InnerText = "12.95"

' Create an XPathNavigator to use for the transform.
Dim nav as XPathNavigator = root.CreateNavigator()

' Transform the file.
Dim xslt as XslTransform = new XslTransform()
xslt.Load("output.xsl")
Dim writer as XmlTextWriter = new XmlTextWriter("books.html", nothing)
xslt.Transform(nav,nothing, writer, nothing)

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. Les sélections de transformation s’appliquent au document dans son ensemble. En d’autres termes, si le nœud actuel est défini sur une arborescence de nœuds autre que le nœud racine du document, cela n’empêche pas le processus de transformation d’accéder à tous les nœuds du document chargé. Une fois la transformation effectuée, elle XPathNavigator reste dans son état d’origine. Cela signifie que le nœud, actif avant le processus de transformation, reste le nœud actuel après l’appel de la Transform méthode.

L’élément xsl:output n’est pas pris en charge lors de la mise en place d’un XmlWriter (xsl:output est ignoré). Pour plus d’informations, consultez Sorties d’un XslTransform .

Voir aussi

S’applique à

Transform(XPathNavigator, XsltArgumentList)

Attention

You should pass XmlResolver to Transform() method

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans XmlReader.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList) As XmlReader

Paramètres

input
XPathNavigator

XPathNavigator contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

Retours

XmlReader

XmlReader contenant les résultats de la transformation.

Attributs

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. Les sélections de transformation s’appliquent au document dans son ensemble. En d’autres termes, si le nœud actuel est défini sur une arborescence de nœuds autre que le nœud racine du document, cela n’empêche pas le processus de transformation d’accéder à tous les nœuds du document chargé. Une fois la transformation effectuée, le XPathNavigator reste dans son état d’origine. Cela signifie que le nœud, qui est actuel avant le processus de transformation, reste le nœud actuel après l’appel de la Transform méthode.

Étant donné que XmlReader fournit une sortie en lecture seule, l’élément xsl:output est ignoré. Pour plus d’informations, consultez Sorties d’un XslTransform .

Cette méthode vous permet d’effectuer une transformation asynchrone du document source.

Notes

Cette méthode est obsolète. Le paramètre de la XmlResolver propriété détermine la façon dont la fonction document() XSLT est résolue. La pratique recommandée consiste à utiliser la Transform méthode qui prend un objet comme l’un XmlResolver de ses arguments.

Voir aussi

S’applique à

Transform(IXPathNavigable, XsltArgumentList)

Attention

You should pass XmlResolver to Transform() method

Transforme les données XML dans IXPathNavigable en utilisant les args spécifiés et renvoie le résultat dans XmlReader.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList) As XmlReader

Paramètres

input
IXPathNavigable

Objet implémentant l'interface IXPathNavigable. Dans le .NET Framework, il peut s’agir de XmlNode (généralement XmlDocument) ou de XPathDocument contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

Retours

XmlReader

XmlReader contenant les résultats de la transformation.

Attributs

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Notes

cette méthode est désormais obsolète. Le paramètre de la XmlResolver propriété détermine la façon dont la fonction XSLT document() est résolue. La pratique recommandée consiste à utiliser la Transform méthode qui prend un objet comme l’un XmlResolver de ses arguments.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. L’élément xsl:output n’est pas pris en charge lors de la sortie d’un XmlReader élément (l’élément xsl:output est ignoré). Pour plus d’informations, consultez Sorties d’un XslTransform .

Cette méthode vous permet d’effectuer une transformation asynchrone du document source.

Les transformations s'appliquent à l'ensemble du document. En d'autres termes, si vous passez dans un autre nœud que le nœud racine du document, cela n'empêche pas le processus de transformation d'accéder à tous les nœuds dans le document chargé. Pour transformer un fragment de nœud, vous devez créer un XmlDocument fragment contenant uniquement le fragment de nœud et le transmettre XmlDocument à la Transform méthode.

L’exemple suivant effectue une transformation sur un fragment de nœud.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

L’exemple utilise les fichiers et print_root.xsl les library.xml entrées comme sorties suivantes dans la console.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Voir aussi

S’applique à

Transform(String, String)

Attention

You should pass XmlResolver to Transform() method

Convertit les données XML dans le fichier d'entrée et renvoie le résultat dans un fichier de sortie.

public:
 void Transform(System::String ^ inputfile, System::String ^ outputfile);
public void Transform (string inputfile, string outputfile);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (string inputfile, string outputfile);
member this.Transform : string * string -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : string * string -> unit
Public Sub Transform (inputfile As String, outputfile As String)

Paramètres

inputfile
String

URL du document source à transformer.

outputfile
String

URL du fichier de sortie.

Attributs

Exemples

L’exemple suivant transforme le books.xml fichier à l’aide de la output.xsl feuille de style et génère les résultats dans le books.html fichier.

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "output.xsl" );

// Transform the file.
xslt->Transform("books.xml","books.html");
//Create the XslTransform object.
XslTransform xslt = new XslTransform();

//Load the stylesheet.
xslt.Load("output.xsl");

//Transform the file.
xslt.Transform("books.xml", "books.html");
'Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

'Load the stylesheet.
xslt.Load("output.xsl")

'Transform the file.
xslt.Transform("books.xml", "books.html")

L’exemple utilise les deux fichiers d’entrée suivants :

books.xml

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

output.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="bookstore">
  <HTML>
    <BODY>
      <TABLE BORDER="2">
        <TR>
          <TD>ISBN</TD>
          <TD>Title</TD>
          <TD>Price</TD>
        </TR>
        <xsl:apply-templates select="book"/>
      </TABLE>
    </BODY>
  </HTML>
</xsl:template>
<xsl:template match="book">
  <TR>
    <TD><xsl:value-of select="@ISBN"/></TD>
    <TD><xsl:value-of select="title"/></TD>
    <TD><xsl:value-of select="price"/></TD>
  </TR>
</xsl:template>
</xsl:stylesheet>

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Notes

Cette méthode est obsolète dans la version 1.1 du .NET Framework. Le paramètre de la XmlResolver propriété détermine la façon dont la fonction XSLT document() est résolue. La pratique recommandée consiste à utiliser la Transform méthode qui prend un objet comme l’un XmlResolver de ses arguments.

Voir aussi

S’applique à

Transform(XPathNavigator, XsltArgumentList, Stream)

Attention

You should pass XmlResolver to Transform() method

Transforme les données XML dans XPathNavigator en utilisant les args spécifiés et renvoie le résultat dans Stream.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream)

Paramètres

input
XPathNavigator

XPathNavigator contenant les données à transformer.

args
XsltArgumentList

XsltArgumentList contenant des arguments qualifiés par un espace de noms, utilisés comme données d'entrée pour la transformation.

output
Stream

Flux dans lequel vous voulez générer le résultat.

Attributs

Exceptions

Une erreur s'est produite lors du traitement de la transformation XSLT.

Remarque : il s'agit d'un changement de comportement par rapport aux versions précédentes. Une XsltException est levée si vous utilisez Microsoft .NET Framework version 1.1 ou antérieure.

Remarques

Notes

La XslTransform classe est obsolète dans .NET Framework version 2.0. La XslCompiledTransform classe est le nouveau processeur XSLT. Pour plus d’informations, consultez Utilisation de la classe XslCompiledTransform et migration à partir de la classe XslTransform.

XslTransform prend en charge la syntaxe XSLT 1.0. La feuille de style XSLT doit inclure la déclaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformd’espace de noms.

Les args éléments sont mis en correspondance avec les xsl:param éléments définis dans la feuille de style. Les sélections de transformation s’appliquent au document dans son ensemble. En d’autres termes, si le nœud actuel est défini sur une arborescence de nœuds autre que le nœud racine du document, cela n’empêche pas le processus de transformation d’accéder à tous les nœuds du document chargé. Une fois la transformation effectuée, le XPathNavigator reste dans son état d’origine. Cela signifie que le nœud, qui est actuel avant le processus de transformation, reste le nœud actuel après l’appel de la Transform méthode.

Consultez les sorties d’un XslTransform pour connaître les attributs pris xsl:output en charge.

Notes

cette méthode est désormais obsolète. Le paramètre de la XmlResolver propriété détermine la façon dont la fonction XSLT document() est résolue. La pratique recommandée consiste à utiliser la Transform méthode qui prend un objet comme l’un XmlResolver de ses arguments.

Voir aussi

S’applique à