Transform Methode (String, XsltArgumentList, XmlWriter)
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

XslCompiledTransform.Transform-Methode (String, XsltArgumentList, XmlWriter)

Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit.

Namespace:  System.Xml.Xsl
Assembly:  System.Xml (in System.Xml.dll)

public void Transform(
	string inputUri,
	XsltArgumentList arguments,
	XmlWriter results
)

Parameter

inputUri
Typ: System.String
Der URI des Eingabedokuments.
arguments
Typ: System.Xml.Xsl.XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null sein.
results
Typ: System.Xml.XmlWriter
Der XmlWriter, an den die Ergebnisse ausgegeben werden sollen.
Wenn das Stylesheet ein xsl:output-Element enthält, müssen Sie den XmlWriter mithilfe des XmlWriterSettings-Objekts erstellen, das von der OutputSettings-Eigenschaft zurückgegeben wird. Dieses Verfahren gewährleistet die richtigen Ausgabeeinstellungen des XmlWriter.

AusnahmeBedingung
ArgumentNullException

The inputUri or results value is null.

XsltException

There was an error executing the XSLT transform.

DirectoryNotFoundException

The inputtUri value includes a filename or directory cannot be found.

WebException

The inputUri value cannot be resolved.

- oder -

An error occurred while processing the request.

UriFormatException

inputUri is not a valid URI.

XmlException

There was a parsing error loading the input document.

This method uses a default XmlUrlResolver with no user credentials to resolve the input document and any instances of the XSLT document() function found in the style sheet. If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

An XmlReader with default settings is used to load the input document. DTD processing is disabled on the XmlReader. If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

The following example uses an XsltArgumentList object to create a parameter representing the current date and time.


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);
        }
    }
}


The example uses the following two data files as input.

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>


.NET Framework

Unterstützt in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2016 Microsoft