Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Klassen XslCompiledTransform ersatte XslTransform klassen. Den här nyare klassen har utformats för att likna XslTransform. Formatmallar kompileras med hjälp av Load metoden . Transformeringar körs med hjälp av Transform metoden .
Följande procedurer visar vanliga XSLT-uppgifter och jämför koden med hjälp av klassen jämfört med XslTransform XslCompiledTransform klassen.
Transformera en fil och utdata till en URI
Kod med hjälp av XslTransform klassen.
XslTransform xslt = new XslTransform(); xslt.Load("output.xsl"); xslt.Transform("books.xml", "books.html");Dim xslt As New XslTransform() xslt.Load("output.xsl") xslt.Transform("books.xml", "books.html")Kod med hjälp av XslCompiledTransform klassen.
XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load("output.xsl"); xslt.Transform("books.xml", "books.html");Dim xslt As New XslCompiledTransform() xslt.Load("output.xsl") xslt.Transform("books.xml", "books.html")
Kompilera en formatmall och använda en matchare med standardautentiseringsuppgifter
Kod med hjälp av XslTransform klassen.
XslTransform xslt = new XslTransform(); XmlUrlResolver resolver = new XmlUrlResolver(); resolver.Credentials = CredentialCache.DefaultCredentials; xslt.Load("sort.xsl", resolver);Dim xslt As New XslTransform() Dim resolver As New XmlUrlResolver() resolver.Credentials = CredentialCache.DefaultCredentials xslt.Load("sort.xsl", resolver)Kod med hjälp av XslCompiledTransform klassen.
XslCompiledTransform xslt = new XslCompiledTransform(); XmlUrlResolver resolver = new XmlUrlResolver(); resolver.Credentials = CredentialCache.DefaultCredentials; xslt.Load("sort.xsl", XsltSettings.Default, resolver);Dim xslt As New XslCompiledTransform() Dim resolver As New XmlUrlResolver() resolver.Credentials = CredentialCache.DefaultCredentials xslt.Load("sort.xsl", XsltSettings.Default, resolver)
Så här använder du en XSLT-parameter
Kod med hjälp av XslTransform klassen.
XslTransform xslt = new XslTransform(); xslt.Load("order.xsl"); //Create the XsltArgumentList. XsltArgumentList argList = new XsltArgumentList(); //Create a parameter which represents the current date and time. DateTime d = DateTime.Now; argList.AddParam("date", "", d.ToString()); //Create the XmlTextWriter. XmlTextWriter writer = new XmlTextWriter("output.xml", null); //Transform the file. xslt.Transform(new XPathDocument(filename), argList, writer, null);Dim xslt As New XslTransform() xslt.Load("order.xsl") 'Create the XsltArgumentList. Dim argList As New XsltArgumentList() 'Create a parameter which represents the current date and time. Dim d As DateTime = DateTime.Now argList.AddParam("date", "", d.ToString()) 'Create the XmlTextWriter. Dim writer As New XmlTextWriter("output.xml", Nothing) 'Transform the file. xslt.Transform(New XPathDocument(filename), argList, writer, Nothing)Kod med hjälp av XslCompiledTransform klassen.
XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load("order.xsl"); // Create the XsltArgumentList. XsltArgumentList argList = new XsltArgumentList(); // Create a parameter which represents the current date and time. DateTime d = DateTime.Now; argList.AddParam("date", "", d.ToString()); // Create the XmlWriter. XmlWriter writer = XmlWriter.Create("output.xml", null); // Transform the file. xslt.Transform(new XPathDocument(filename), argList, writer);Dim xslt As New XslCompiledTransform() xslt.Load("order.xsl") ' Create the XsltArgumentList. Dim argList As New XsltArgumentList() ' Create a parameter which represents the current date and time. Dim d As DateTime = DateTime.Now argList.AddParam("date", "", d.ToString()) ' Create the XmlWriter. Dim writer As XmlWriter = XmlWriter.Create("output.xml", Nothing) ' Transform the file. xslt.Transform(New XPathDocument(filename), argList, writer)
Aktivera XSLT-skript
Kommentar
Skriptblock stöds endast i .NET Framework. De stöds inte på .NET Core eller .NET 5 eller senare.
Kod med hjälp av XslTransform klassen.
XslTransform xslt = new XslTransform(); xslt.Load("output.xsl"); xslt.Transform("books.xml", "books.html");Dim xslt As New XslTransform() xslt.Load("output.xsl") xslt.Transform("books.xml", "books.html")Kod med hjälp av XslCompiledTransform klassen.
// Create the XsltSettings object with script enabled. XsltSettings settings = new XsltSettings(false,true); // Execute the transform. XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load("calc.xsl", settings, new XmlUrlResolver()); xslt.Transform("books.xml", "books.html");' Create the XsltSettings object with script enabled. Dim settings As New XsltSettings(False, True) ' Execute the transform. Dim xslt As New XslCompiledTransform() xslt.Load("calc.xsl", settings, New XmlUrlResolver()) xslt.Transform("books.xml", "books.html")
Så här läser du in resultatet i ett DOM-objekt
Kod med hjälp av XslTransform klassen.
// Execute the transformation. XslTransform xslt = new XslTransform(); xslt.Load("output.xsl"); XmlReader reader = xslt.Transform(new XPathDocument("books.xml"), null, new XmlUrlResolver()); // Load the results into a DOM object. XmlDocument doc = new XmlDocument(); doc.Load(reader);' Execute the transformation. Dim xslt As New XslTransform() xslt.Load("output.xsl") Dim reader As XmlReader = xslt.Transform(New XPathDocument("books.xml"), Nothing, New XmlUrlResolver()) ' Load the results into a DOM object. Dim doc As XmlDocument = New XmlDocument() doc.Load(reader)Kod med hjälp av XslCompiledTransform klassen.
Kommentar
Klassen XslCompiledTransform har ingen metod som returnerar XSLT-transformeringsresultatet som ett XmlReader objekt. Du kan dock mata ut till en XML-fil och läsa in XML-filen i ett annat objekt.
// Execute the transformation. XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load("output.xsl"); xslt.Transform("books.xml", "output.xml"); // Load the results into a DOM object. XmlDocument doc = new XmlDocument(); doc.Load("output.xml");' Execute the transformation. Dim xslt As New XslCompiledTransform() xslt.Load("output.xsl") xslt.Transform("books.xml", "output.xml") ' Load the results into a DOM object. Dim doc As XmlDocument = New XmlDocument() doc.Load("output.xml")
Så här strömmar du resultatet till ett annat datalager
Kod med hjälp av XslTransform klassen.
// Execute the transformation. XslTransform xslt = new XslTransform(); xslt.Load("output.xsl"); XmlReader reader = xslt.Transform(new XPathDocument("books.xml"), null, new XmlUrlResolver()); // Load the results into an XPathDocument object. XPathDocument doc = new XPathDocument(reader);' Execute the transformation. Dim xslt As New XslTransform() xslt.Load("output.xsl") Dim reader As XmlReader = xslt.Transform(New XPathDocument("books.xml"), Nothing, New XmlUrlResolver()) ' Load the results into an XPathDocument object. Dim doc As XPathDocument = New XPathDocument(reader)Kod med hjälp av XslCompiledTransform klassen.
// Execute the transformation. XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load("output.xsl"); MemoryStream ms = new MemoryStream(); xslt.Transform(new XPathDocument("books.xml"), null, ms); // Load the results into an XPathDocument object. ms.Seek(0, SeekOrigin.Begin); XPathDocument doc = new XPathDocument(ms);' Execute the transformation. Dim xslt As New XslCompiledTransform() xslt.Load("output.xsl") Dim ms As MemoryStream = New MemoryStream() xslt.Transform(New XPathDocument("books.xml"), Nothing, ms) ' Load the results into an XPathDocument object. ms.Seek(0, SeekOrigin.Begin) Dim doc As XPathDocument = New XPathDocument(ms)