Udostępnij za pośrednictwem


XslCompiledTransform.Transform Metoda

Definicja

Wykonuje transformację XSLT.

Przeciążenia

Transform(XmlReader, XsltArgumentList, TextWriter)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do obiektu TextWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do obiektu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do obiektu TextWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

Transform(IXPathNavigable, XsltArgumentList, Stream)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do strumienia. Element XsltArgumentList udostępnia dodatkowe argumenty środowiska uruchomieniowego.

Transform(XmlReader, XsltArgumentList, XmlWriter)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do obiektu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

Transform(XmlReader, XsltArgumentList, Stream)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do strumienia. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

Transform(String, String)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i wyprowadza wyniki do pliku.

Transform(String, XsltArgumentList, TextWriter)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i zwraca wyniki do elementu TextWriter.

Transform(String, XsltArgumentList, Stream)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i generuje wyniki do przesyłania strumieniowego. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

Transform(IXPathNavigable, XmlWriter)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do obiektu XmlWriter.

Transform(XmlReader, XmlWriter)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do obiektu XmlWriter.

Transform(String, XmlWriter)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i zwraca wyniki do elementu XmlWriter.

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do obiektu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania, a element XmlResolver rozpoznaje funkcję XSLT document() .

Transform(String, XsltArgumentList, XmlWriter)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i zwraca wyniki do elementu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do elementu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania i XmlResolver rozpoznaje funkcję XSLT document() .

Uwagi

Uwaga

Istnieją różnice między XSLT skompilowanym w trybie debugowania i XSLT skompilowanym w trybie wydania. W niektórych sytuacjach arkusze stylów skompilowane w trybie debugowania nie będą zgłaszać błędów podczas Loadprogramu , ale później zakończy się niepowodzeniem podczas Transform. Ten sam arkusz stylów skompilowany w trybie wydania zakończy się niepowodzeniem podczas Loadwykonywania operacji . Przykładem takiego zachowania jest przypisana zmienna, która nie jest typem zestawu węzłów, do wyrażenia, w którym wymagany jest zestaw węzłów.

Transform(XmlReader, XsltArgumentList, TextWriter)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do obiektu TextWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.TextWriter results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As TextWriter)

Parametry

input
XmlReader

Dokument XmlReader wejściowy zawierający.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
TextWriter

Element TextWriter , do którego chcesz uzyskać dane wyjściowe.

Wyjątki

Wartość input lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Uwagi

Jeśli arkusz stylów zawiera funkcję XSLT document() , zostanie rozwiązany przy użyciu bez XmlUrlResolver poświadczeń użytkownika. Jeśli zasób zewnętrzny znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Zobacz też

Dotyczy

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do obiektu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

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

Parametry

input
IXPathNavigable

Obiekt implementowania interfejsu IXPathNavigable . W Microsoft .NET Framework może to być element XmlNode (zazwyczaj XmlDocument) lub XPathDocument zawierający dane, które mają zostać przekształcone.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
XmlWriter

Element XmlWriter , do którego chcesz uzyskać dane wyjściowe.

Jeśli arkusz stylów zawiera xsl:output element, należy utworzyć XmlWriter obiekt przy użyciu XmlWriterSettings obiektu zwróconego OutputSettings z właściwości . Gwarantuje to, że ustawienia XmlWriter danych wyjściowych są poprawne.

Wyjątki

Wartość input lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Uwagi

Jeśli funkcja XSLT document() jest włączona, zostanie rozpoznana przy użyciu identyfikatora XmlUrlResolver bez poświadczeń użytkownika. Jeśli zasób zewnętrzny znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Ta metoda nie obsługuje xsl:strip-space elementu. Jeśli skompilowany arkusz stylów zawierał xsl:strip-space element, należy użyć Transform przeciążenia, które przyjmuje XmlReader jako argument wejściowy.

Interfejs IXPathNavigable jest implementowany w klasach XmlNode i XPathDocument . Te klasy reprezentują pamięć podręczną danych XML w pamięci.

  • Klasa XmlNode jest oparta na modelu obiektów dokumentów W3C (DOM) i obejmuje możliwości edycji.

  • Klasa XPathDocument jest magazynem danych tylko do odczytu na podstawie modelu danych XPath. XPathDocument jest zalecaną klasą przetwarzania XSLT. Zapewnia szybszą wydajność w porównaniu z klasą XmlNode .

Przekształcenia mają zastosowanie do dokumentu jako całości. Innymi słowy, jeśli przekazujesz węzeł inny niż węzeł główny dokumentu, nie zapobiega to uzyskiwaniu dostępu do wszystkich węzłów w załadowanym dokumencie. Aby przekształcić fragment węzła, należy utworzyć obiekt zawierający tylko fragment węzła i przekazać ten obiekt do Transform metody . Aby uzyskać więcej informacji, zobacz Instrukcje: przekształcanie fragmentu węzła.

Zobacz też

Dotyczy

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do obiektu TextWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

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

Parametry

input
IXPathNavigable

Obiekt implementowania interfejsu IXPathNavigable . W Microsoft .NET Framework może to być element XmlNode (zazwyczaj XmlDocument) lub XPathDocument zawierający dane, które mają zostać przekształcone.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
TextWriter

Element TextWriter , do którego chcesz uzyskać dane wyjściowe.

Wyjątki

Wartość input lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Uwagi

Jeśli funkcja XSLT document() jest włączona, zostanie rozpoznana przy użyciu identyfikatora XmlUrlResolver bez poświadczeń użytkownika. Jeśli zasób zewnętrzny znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Ta metoda nie obsługuje xsl:strip-space elementu. Jeśli skompilowany arkusz stylów zawierał xsl:strip-space element, należy użyć Transform przeciążenia, które przyjmuje XmlReader jako argument wejściowy.

Interfejs IXPathNavigable jest implementowany w klasach XmlNode i XPathDocument . Te klasy reprezentują pamięć podręczną danych XML w pamięci.

  • Klasa XmlNode jest oparta na modelu obiektów dokumentów W3C (DOM) i obejmuje możliwości edycji.

  • Klasa XPathDocument jest magazynem danych tylko do odczytu na podstawie modelu danych XPath. XPathDocument jest zalecaną klasą przetwarzania XSLT. Zapewnia szybszą wydajność w porównaniu z klasą XmlNode .

Przekształcenia mają zastosowanie do dokumentu jako całości. Innymi słowy, jeśli przekazujesz węzeł inny niż węzeł główny dokumentu, nie zapobiega to uzyskiwaniu dostępu do wszystkich węzłów w załadowanym dokumencie. Aby przekształcić fragment węzła, należy utworzyć obiekt zawierający tylko fragment węzła i przekazać ten obiekt do Transform metody . Aby uzyskać więcej informacji, zobacz Instrukcje: przekształcanie fragmentu węzła.

Zobacz też

Dotyczy

Transform(IXPathNavigable, XsltArgumentList, Stream)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do strumienia. Element XsltArgumentList udostępnia dodatkowe argumenty środowiska uruchomieniowego.

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

Parametry

input
IXPathNavigable

Obiekt implementowania interfejsu IXPathNavigable . W Microsoft .NET Framework może to być element XmlNode (zazwyczaj XmlDocument) lub XPathDocument zawierający dane, które mają zostać przekształcone.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
Stream

Strumień, do którego chcesz uzyskać dane wyjściowe.

Wyjątki

Wartość input lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Przykłady

W poniższym przykładzie jest wykonywana transformacja XSLT i dane wyjściowe do elementu FileStream.

// 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);
}
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the FileStream.
Using fs As New FileStream("c:\data\output.xml", FileMode.Create)
   ' Execute the transformation.
    xslt.Transform(New XPathDocument("books.xml"), Nothing, fs)
End Using

Uwagi

Jeśli funkcja XSLT document() jest włączona, zostanie rozpoznana przy użyciu identyfikatora XmlUrlResolver bez poświadczeń użytkownika. Jeśli zasób zewnętrzny znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Ta metoda nie obsługuje xsl:strip-space elementu. Jeśli skompilowany arkusz stylów zawierał xsl:strip-space element, należy użyć Transform przeciążenia, które przyjmuje XmlReader jako argument wejściowy.

Interfejs IXPathNavigable jest implementowany w klasach XmlNode i XPathDocument . Te klasy reprezentują pamięć podręczną danych XML w pamięci.

  • Klasa XmlNode jest oparta na modelu obiektów dokumentów W3C (DOM) i obejmuje możliwości edycji.

  • Klasa XPathDocument jest magazynem danych tylko do odczytu na podstawie modelu danych XPath. XPathDocument jest zalecaną klasą przetwarzania XSLT. Zapewnia szybszą wydajność w porównaniu z klasą XmlNode .

Przekształcenia mają zastosowanie do dokumentu jako całości. Innymi słowy, jeśli przekazujesz węzeł inny niż węzeł główny dokumentu, nie zapobiega to uzyskiwaniu dostępu do wszystkich węzłów w załadowanym dokumencie. Aby przekształcić fragment węzła, należy utworzyć obiekt zawierający tylko fragment węzła i przekazać ten obiekt do Transform metody . Aby uzyskać więcej informacji, zobacz Instrukcje: przekształcanie fragmentu węzła.

Zobacz też

Dotyczy

Transform(XmlReader, XsltArgumentList, XmlWriter)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do obiektu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter)

Parametry

input
XmlReader

Dokument XmlReader wejściowy zawierający.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
XmlWriter

Element XmlWriter , do którego chcesz uzyskać dane wyjściowe.

Jeśli arkusz stylów zawiera xsl:output element, należy utworzyć XmlWriter obiekt przy użyciu XmlWriterSettings obiektu zwróconego OutputSettings z właściwości . Gwarantuje to, że ustawienia XmlWriter danych wyjściowych są poprawne.

Wyjątki

Wartość input lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Uwagi

Jeśli arkusz stylów zawiera funkcję XSLT document() , zostanie rozwiązany przy użyciu bez XmlUrlResolver poświadczeń użytkownika. Jeśli zasób zewnętrzny znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Zobacz też

Dotyczy

Transform(XmlReader, XsltArgumentList, Stream)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do strumienia. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.Stream results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As Stream)

Parametry

input
XmlReader

Dokument XmlReader wejściowy zawierający.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
Stream

Strumień, do którego chcesz uzyskać dane wyjściowe.

Wyjątki

Wartość input lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Uwagi

Jeśli arkusz stylów zawiera funkcję XSLT document() , zostanie rozwiązany przy użyciu bez XmlUrlResolver poświadczeń użytkownika. Jeśli zasób zewnętrzny znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Zobacz też

Dotyczy

Transform(String, String)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i wyprowadza wyniki do pliku.

public:
 void Transform(System::String ^ inputUri, System::String ^ resultsFile);
public void Transform (string inputUri, string resultsFile);
member this.Transform : string * string -> unit
Public Sub Transform (inputUri As String, resultsFile As String)

Parametry

inputUri
String

Identyfikator URI dokumentu wejściowego.

resultsFile
String

Identyfikator URI pliku wyjściowego.

Wyjątki

Wartość inputUri lub resultsFile to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Nie można odnaleźć dokumentu wejściowego.

resultsFile Nie inputUri można odnaleźć nazwy pliku lub katalogu lub wartości lub.

inputUri Nie można rozpoznać wartości lubresultsFile.

-lub-

Wystąpił błąd podczas przetwarzania żądania.

inputUri lub resultsFile nie jest prawidłowym identyfikatorem URI.

Wystąpił błąd podczas analizowania podczas ładowania dokumentu wejściowego.

Przykłady

Poniższy przykład wykonuje przekształcenie i dane wyjściowe do pliku.

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

// Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html");
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html")

W przykładzie użyto następujących dwóch plików wejściowych:

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>

Uwagi

Ta metoda używa wartości domyślnej XmlUrlResolver bez poświadczeń użytkownika do rozpoznawania dokumentów wejściowych i wyjściowych. Jeśli którykolwiek z tych zasobów znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Element XmlReader z ustawieniami domyślnymi służy do ładowania dokumentu wejściowego. Przetwarzanie DTD jest wyłączone w elemecie XmlReader. Jeśli potrzebujesz przetwarzania DTD, utwórz obiekt XmlReader z włączoną tą funkcją i przekaż ją do Transform metody .

Zobacz też

Dotyczy

Transform(String, XsltArgumentList, TextWriter)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i zwraca wyniki do elementu TextWriter.

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.TextWriter results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As TextWriter)

Parametry

inputUri
String

Identyfikator URI dokumentu wejściowego.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
TextWriter

Element TextWriter , do którego chcesz uzyskać dane wyjściowe.

Wyjątki

Wartość inputUri lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Nie inputUri można odnaleźć nazwy pliku lub katalogu.

inputUri Nie można rozpoznać wartości.

-lub-

Wystąpił błąd podczas przetwarzania żądania.

inputUri nie jest prawidłowym identyfikatorem URI.

Wystąpił błąd podczas analizowania podczas ładowania dokumentu wejściowego.

Przykłady

Poniższy przykład wykonuje transformację XSLT i generuje ciąg.

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

// Transform the file and output an HTML string.
string HTMLoutput;
StringWriter writer = new StringWriter();
xslt.Transform("books.xml", null, writer);
HTMLoutput = writer.ToString();
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("HTML_out.xsl")
        
' Transform the file and output an HTML string.
Dim HTMLoutput As String
Dim writer As New StringWriter()
xslt.Transform("books.xml", Nothing, writer)
HTMLoutput = writer.ToString()
writer.Close()

Uwagi

Ta metoda używa wartości domyślnej XmlUrlResolver bez poświadczeń użytkownika, aby rozpoznać dokument wejściowy i wszystkie wystąpienia funkcji XSLT document() znalezione w arkuszu stylów. Jeśli którykolwiek z tych zasobów znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Element XmlReader z ustawieniami domyślnymi służy do ładowania dokumentu wejściowego. Przetwarzanie DTD jest wyłączone w elemecie XmlReader. Jeśli potrzebujesz przetwarzania DTD, utwórz obiekt XmlReader z włączoną tą funkcją i przekaż ją do Transform metody .

Zobacz też

Dotyczy

Transform(String, XsltArgumentList, Stream)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i generuje wyniki do przesyłania strumieniowego. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.Stream results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As Stream)

Parametry

inputUri
String

Identyfikator URI dokumentu wejściowego.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
Stream

Strumień, do którego chcesz uzyskać dane wyjściowe.

Wyjątki

Wartość inputUri lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Nie inputUri można odnaleźć nazwy pliku lub katalogu.

inputUri Nie można rozpoznać wartości.

-lub-

Wystąpił błąd podczas przetwarzania żądania.

inputUri nie jest prawidłowym identyfikatorem URI.

Wystąpił błąd podczas analizowania podczas ładowania dokumentu wejściowego.

Uwagi

Ta metoda używa wartości domyślnej XmlUrlResolver bez poświadczeń użytkownika, aby rozpoznać dokument wejściowy i wszystkie wystąpienia funkcji XSLT document() znalezione w arkuszu stylów. Jeśli którykolwiek z tych zasobów znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Element XmlReader z ustawieniami domyślnymi służy do ładowania dokumentu wejściowego. Przetwarzanie DTD jest wyłączone w elemecie XmlReader. Jeśli potrzebujesz przetwarzania DTD, utwórz obiekt XmlReader z włączoną tą funkcją i przekaż ją do Transform metody .

Zobacz też

Dotyczy

Transform(IXPathNavigable, XmlWriter)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do obiektu XmlWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, results As XmlWriter)

Parametry

input
IXPathNavigable

Obiekt implementowania interfejsu IXPathNavigable . W Microsoft .NET Framework może to być element XmlNode (zazwyczaj XmlDocument) lub XPathDocument zawierający dane, które mają zostać przekształcone.

results
XmlWriter

Element XmlWriter , do którego chcesz uzyskać dane wyjściowe.

Jeśli arkusz stylów zawiera xsl:output element, należy utworzyć XmlWriter obiekt przy użyciu XmlWriterSettings obiektu zwróconego OutputSettings z właściwości . Gwarantuje to, że ustawienia XmlWriter danych wyjściowych są poprawne.

Wyjątki

Wartość input lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Przykłady

W poniższym przykładzie jest wykonywana transformacja XSLT i dane wyjściowe do XmlWriter obiektu.

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

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

// Execute the transformation.
xslt.Transform(new XPathDocument("books.xml"), writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
' Execute the transformation.
xslt.Transform(New XPathDocument("books.xml"), writer)
writer.Close()

Uwagi

Jeśli funkcja XSLT document() jest włączona, zostanie rozpoznana przy użyciu identyfikatora XmlUrlResolver bez poświadczeń użytkownika. Jeśli zasób zewnętrzny znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Ta metoda nie obsługuje xsl:strip-space elementu. Jeśli skompilowany arkusz stylów zawierał xsl:strip-space element, należy użyć Transform przeciążenia, które przyjmuje XmlReader jako argument wejściowy.

Interfejs IXPathNavigable jest implementowany w klasach XmlNode i XPathDocument . Te klasy reprezentują pamięć podręczną danych XML w pamięci.

  • Klasa XmlNode jest oparta na modelu obiektów dokumentów W3C (DOM) i obejmuje możliwości edycji.

  • Klasa XPathDocument jest magazynem danych tylko do odczytu na podstawie modelu danych XPath. XPathDocument jest zalecaną klasą przetwarzania XSLT. Zapewnia szybszą wydajność w porównaniu z klasą XmlNode .

Przekształcenia mają zastosowanie do dokumentu jako całości. Innymi słowy, jeśli przekazujesz węzeł inny niż węzeł główny dokumentu, nie zapobiega to uzyskiwaniu dostępu do wszystkich węzłów w załadowanym dokumencie. Aby przekształcić fragment węzła, należy utworzyć obiekt zawierający tylko fragment węzła i przekazać ten obiekt do Transform metody . Aby uzyskać więcej informacji, zobacz Instrukcje: przekształcanie fragmentu węzła.

Zobacz też

Dotyczy

Transform(XmlReader, XmlWriter)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do obiektu XmlWriter.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, results As XmlWriter)

Parametry

input
XmlReader

Dokument XmlReader wejściowy zawierający.

results
XmlWriter

Element XmlWriter , do którego chcesz uzyskać dane wyjściowe.

Jeśli arkusz stylów zawiera xsl:output element, należy utworzyć XmlWriter obiekt przy użyciu XmlWriterSettings obiektu zwróconego OutputSettings z właściwości . Gwarantuje to, że ustawienia XmlWriter danych wyjściowych są poprawne.

Wyjątki

Wartość input lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Przykłady

Poniższy przykład przekształca pierwszą książkę w pliku books.xml.

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

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

XmlReader reader = XmlReader.Create("books.xml");
reader.MoveToContent();

// Execute the transformation.
xslt.Transform(reader, writer);
writer.Close();
reader.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
Dim reader As XmlReader = XmlReader.Create("books.xml")
reader.MoveToContent()
        
' Execute the transformation.
xslt.Transform(reader, writer)
writer.Close()
reader.Close()

Uwagi

Jeśli funkcja XSLT document() jest włączona, zostanie rozpoznana przy użyciu identyfikatora XmlUrlResolver bez poświadczeń użytkownika. Jeśli zasób zewnętrzny znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Zobacz też

Dotyczy

Transform(String, XmlWriter)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i zwraca wyniki do elementu XmlWriter.

public:
 void Transform(System::String ^ inputUri, System::Xml::XmlWriter ^ results);
public void Transform (string inputUri, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, results As XmlWriter)

Parametry

inputUri
String

Identyfikator URI dokumentu wejściowego.

results
XmlWriter

Element XmlWriter , do którego chcesz uzyskać dane wyjściowe.

Jeśli arkusz stylów zawiera xsl:output element, należy utworzyć XmlWriter obiekt przy użyciu XmlWriterSettings obiektu zwróconego OutputSettings z właściwości . Gwarantuje to, że ustawienia XmlWriter danych wyjściowych są poprawne.

Wyjątki

Wartość inputUri lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Nie inputUri można odnaleźć nazwy pliku lub katalogu.

inputUri Nie można rozpoznać wartości.

-lub-

Wystąpił błąd podczas przetwarzania żądania.

inputUri nie jest prawidłowym identyfikatorem URI.

Wystąpił błąd podczas analizowania podczas ładowania dokumentu wejściowego.

Przykłady

W poniższym przykładzie jest wykonywana transformacja XSLT i dane wyjściowe do XmlWriter obiektu.

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

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

// Execute the transformation.
xslt.Transform("books.xml", writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
' Execute the transformation.
xslt.Transform("books.xml", writer)
writer.Close()

Uwagi

Ta metoda używa wartości domyślnej XmlUrlResolver bez poświadczeń użytkownika, aby rozpoznać dokument wejściowy i wszystkie wystąpienia funkcji XSLT document() znalezione w arkuszu stylów. Jeśli którykolwiek z tych zasobów znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Element XmlReader z ustawieniami domyślnymi służy do ładowania dokumentu wejściowego. Przetwarzanie DTD jest wyłączone w elemecie XmlReader. Jeśli potrzebujesz przetwarzania DTD, utwórz obiekt XmlReader z włączoną tą funkcją i przekaż ją do Transform metody .

Ta metoda nie obsługuje xsl:strip-space elementu. Jeśli skompilowany arkusz stylów zawierał xsl:strip-space element, należy użyć Transform przeciążenia, które przyjmuje XmlReader jako argument wejściowy.

Zobacz też

Dotyczy

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego XmlReader przez obiekt i zwraca wyniki do obiektu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania, a element XmlResolver rozpoznaje funkcję XSLT document() .

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results, System::Xml::XmlResolver ^ documentResolver);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver? documentResolver);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver documentResolver);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter, documentResolver As XmlResolver)

Parametry

input
XmlReader

Dokument XmlReader wejściowy zawierający.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
XmlWriter

Element XmlWriter , do którego chcesz uzyskać dane wyjściowe.

Jeśli arkusz stylów zawiera xsl:output element, należy utworzyć XmlWriter obiekt przy użyciu XmlWriterSettings obiektu zwróconego OutputSettings z właściwości . Gwarantuje to, że ustawienia XmlWriter danych wyjściowych są poprawne.

documentResolver
XmlResolver

Służy XmlResolver do rozpoznawania funkcji XSLT document() . Jeśli jest nullto , document() funkcja nie jest rozpoznawana.

Wyjątki

Wartość input lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Przykłady

W poniższym przykładzie użyto elementu an XmlSecureResolver do rozpoznania funkcji XSLT document() .

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

XsltSettings settings = new XsltSettings();
settings.EnableDocumentFunction = true;

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver);

// Transform the file.
using (XmlReader reader = XmlReader.Create("books.xml"))
{
   using (XmlWriter writer = XmlWriter.Create("output.xml"))
   {
      xslt.Transform(reader, null, writer, resolver);
   }
}
' Create a resolver and specify the necessary credentials.
Dim resolver As New XmlSecureResolver(New XmlUrlResolver(), "http://serverName/data/")
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred
        
Dim settings As New XsltSettings()
settings.EnableDocumentFunction = True
        
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver)
        
' Transform the file.
        Using reader As XmlReader = XmlReader.Create("books.xml")

            Using writer As XmlWriter = XmlWriter.Create("output.xml")
                xslt.Transform(reader, Nothing, writer, resolver)
            End Using

        End Using

Zobacz też

Dotyczy

Transform(String, XsltArgumentList, XmlWriter)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego przez identyfikator URI i zwraca wyniki do elementu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania.

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As XmlWriter)

Parametry

inputUri
String

Identyfikator URI dokumentu wejściowego.

arguments
XsltArgumentList

Argumenty XsltArgumentList kwalifikowane przestrzeni nazw używane jako dane wejściowe do przekształcenia. Ta wartość może być następująca null: .

results
XmlWriter

Element XmlWriter , do którego chcesz uzyskać dane wyjściowe.

Jeśli arkusz stylów zawiera xsl:output element, należy utworzyć XmlWriter obiekt przy użyciu XmlWriterSettings obiektu zwróconego OutputSettings z właściwości . Gwarantuje to, że ustawienia XmlWriter danych wyjściowych są poprawne.

Wyjątki

Wartość inputUri lub results to null.

Wystąpił błąd podczas wykonywania przekształcenia XSLT.

Nie inputtUri można odnaleźć nazwy pliku lub katalogu.

inputUri Nie można rozpoznać wartości.

-lub-

Wystąpił błąd podczas przetwarzania żądania.

inputUri nie jest prawidłowym identyfikatorem URI.

Wystąpił błąd podczas analizowania podczas ładowania dokumentu wejściowego.

Przykłady

W poniższym przykładzie użyto XsltArgumentList obiektu do utworzenia parametru reprezentującego bieżącą datę i godzinę.

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

public class Sample
{

    public static void Main()
    {

        // Create the XslCompiledTransform and load the stylesheet.
        XslCompiledTransform xslt = new XslCompiledTransform();
        xslt.Load("order.xsl");

        // Create the XsltArgumentList.
        XsltArgumentList xslArg = new XsltArgumentList();

        // Create a parameter which represents the current date and time.
        DateTime d = DateTime.Now;
        xslArg.AddParam("date", "", d.ToString());

        // Transform the file.
        using (XmlWriter w = XmlWriter.Create("output.xml"))
        {
            xslt.Transform("order.xml", xslArg, w);
        }
    }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl

Public Class Sample

    Public Shared Sub Main()

        ' Create the XslCompiledTransform and load the stylesheet.
        Dim xslt As New XslCompiledTransform()
        xslt.Load("order.xsl")

        ' Create the XsltArgumentList.
        Dim xslArg As New XsltArgumentList()

        ' Create a parameter which represents the current date and time.
        Dim d As DateTime = DateTime.Now
        xslArg.AddParam("date", "", d.ToString())

        Using w As XmlWriter = XmlWriter.Create("output.xml")
            ' Transform the file.
            xslt.Transform("order.xml", xslArg, w)
        End Using

    End Sub
End Class

W przykładzie użyto następujących dwóch plików danych jako danych wejściowych.

order.xml

<!--Represents a customer order-->
<order>
  <book ISBN='10-861003-324'>
    <title>The Handmaid's Tale</title>
    <price>19.95</price>
  </book>
  <cd ISBN='2-3631-4'>
    <title>Americana</title>
    <price>16.95</price>
  </cd>
</order>

order.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="date"/>
  <xsl:template match="/">
    <order>
      <date><xsl:value-of select="$date"/></date>
      <total><xsl:value-of select="sum(//price)"/></total>
    </order>
  </xsl:template>
</xsl:stylesheet>

Uwagi

Ta metoda używa wartości domyślnej XmlUrlResolver bez poświadczeń użytkownika, aby rozpoznać dokument wejściowy i wszystkie wystąpienia funkcji XSLT document() znalezione w arkuszu stylów. Jeśli którykolwiek z tych zasobów znajduje się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Element XmlReader z ustawieniami domyślnymi służy do ładowania dokumentu wejściowego. Przetwarzanie DTD jest wyłączone w elemecie XmlReader. Jeśli potrzebujesz przetwarzania DTD, utwórz obiekt XmlReader z włączoną tą funkcją i przekaż ją do Transform metody .

Zobacz też

Dotyczy

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs
Źródło:
XslCompiledTransform.cs

Wykonuje przekształcenie przy użyciu dokumentu wejściowego określonego IXPathNavigable przez obiekt i zwraca wyniki do elementu XmlWriter. Element XsltArgumentList udostępnia dodatkowe argumenty czasu wykonywania i XmlResolver rozpoznaje funkcję XSLT document() .

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

Parametry

input
IXPathNavigable

Dokument do przekształcenia określony przez IXPathNavigable obiekt.

arguments
XsltArgumentList

Lista argumentów jako XsltArgumentList.

results
XmlWriter

Element XmlWriter , do którego chcesz uzyskać dane wyjściowe.

Jeśli arkusz stylów zawiera xsl:output element, należy utworzyć XmlWriter obiekt przy użyciu XmlWriterSettings obiektu zwróconego OutputSettings z właściwości . Gwarantuje to, że ustawienia XmlWriter danych wyjściowych są poprawne.

documentResolver
XmlResolver

Służy XmlResolver do rozpoznawania funkcji XSLT document() . Jeśli jest nullto , document() funkcja nie jest rozpoznawana.

Dotyczy