<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FXML%2FXML_Transform</id>
		<title>Csharp/C Sharp/XML/XML Transform - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FXML%2FXML_Transform"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/XML_Transform&amp;action=history"/>
		<updated>2026-04-29T22:43:41Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/XML_Transform&amp;diff=292&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/XML_Transform&amp;diff=292&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/XML_Transform&amp;diff=293&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/XML_Transform&amp;diff=293&amp;oldid=prev"/>
				<updated>2010-05-26T11:34:20Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Illustrates the XslTransform class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mastering Visual C# .NET&lt;br /&gt;
by Jason Price, Mike Gunderloy&lt;br /&gt;
Publisher: Sybex;&lt;br /&gt;
ISBN: 0782129110&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
  Example20_3.cs illustrates the XslTransform class&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Xml.Xsl;&lt;br /&gt;
using System.IO;&lt;br /&gt;
public class Example20_3 &lt;br /&gt;
{&lt;br /&gt;
    public static void Main() &lt;br /&gt;
    {&lt;br /&gt;
        // use an XmlTextReader to open an XML document&lt;br /&gt;
        XmlTextReader xtr = new XmlTextReader(&amp;quot;Cust3.xml&amp;quot;);&lt;br /&gt;
        xtr.WhitespaceHandling = WhitespaceHandling.None;&lt;br /&gt;
        // load the file into an XmlDocuent&lt;br /&gt;
        XmlDocument xd = new XmlDocument();&lt;br /&gt;
        xd.Load(xtr);&lt;br /&gt;
        &lt;br /&gt;
        // load an XSLT file&lt;br /&gt;
        XslTransform xslt = new XslTransform();&lt;br /&gt;
        xslt.Load(&amp;quot;Cust.xsl&amp;quot;);&lt;br /&gt;
        // perform the transformation in memory&lt;br /&gt;
        MemoryStream stm = new MemoryStream();&lt;br /&gt;
        xslt.Transform(xd, null, stm);&lt;br /&gt;
        // and dump the results&lt;br /&gt;
        stm.Position = 1;&lt;br /&gt;
        StreamReader sr = new StreamReader(stm);&lt;br /&gt;
        Console.Write(sr.ReadToEnd());&lt;br /&gt;
        // close the reader&lt;br /&gt;
        xtr.Close();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
//File:Cust3.xml&lt;br /&gt;
/*&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;Cust.xsl&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;NewDataSet&amp;gt;&lt;br /&gt;
    &amp;lt;Customers&amp;gt;&lt;br /&gt;
        &amp;lt;CustomerID&amp;gt;ALFKI&amp;lt;/CustomerID&amp;gt;&lt;br /&gt;
        &amp;lt;CompanyName&amp;gt;Alfreds Futterkiste&amp;lt;/CompanyName&amp;gt;&lt;br /&gt;
        &amp;lt;ContactName&amp;gt;Maria Anders&amp;lt;/ContactName&amp;gt;&lt;br /&gt;
        &amp;lt;ContactTitle&amp;gt;Sales Representative&amp;lt;/ContactTitle&amp;gt;&lt;br /&gt;
        &amp;lt;Address&amp;gt;Obere Str. 57&amp;lt;/Address&amp;gt;&lt;br /&gt;
        &amp;lt;City&amp;gt;Berlin&amp;lt;/City&amp;gt;&lt;br /&gt;
        &amp;lt;PostalCode&amp;gt;12209&amp;lt;/PostalCode&amp;gt;&lt;br /&gt;
        &amp;lt;Country&amp;gt;Germany&amp;lt;/Country&amp;gt;&lt;br /&gt;
        &amp;lt;Phone&amp;gt;030-0074321&amp;lt;/Phone&amp;gt;&lt;br /&gt;
        &amp;lt;Fax&amp;gt;030-0076545&amp;lt;/Fax&amp;gt;&lt;br /&gt;
    &amp;lt;/Customers&amp;gt;&lt;br /&gt;
    &amp;lt;Customers&amp;gt;&lt;br /&gt;
        &amp;lt;CustomerID&amp;gt;BONAP&amp;lt;/CustomerID&amp;gt;&lt;br /&gt;
        &amp;lt;CompanyName&amp;gt;A Company&amp;lt;/CompanyName&amp;gt;&lt;br /&gt;
        &amp;lt;ContactName&amp;gt;Laurence Lebihan&amp;lt;/ContactName&amp;gt;&lt;br /&gt;
        &amp;lt;ContactTitle&amp;gt;Owner&amp;lt;/ContactTitle&amp;gt;&lt;br /&gt;
        &amp;lt;Address&amp;gt;12, rue des Bouchers&amp;lt;/Address&amp;gt;&lt;br /&gt;
        &amp;lt;City&amp;gt;Marseille&amp;lt;/City&amp;gt;&lt;br /&gt;
        &amp;lt;PostalCode&amp;gt;13008&amp;lt;/PostalCode&amp;gt;&lt;br /&gt;
        &amp;lt;Country&amp;gt;France&amp;lt;/Country&amp;gt;&lt;br /&gt;
        &amp;lt;Phone&amp;gt;91.24.45.40&amp;lt;/Phone&amp;gt;&lt;br /&gt;
        &amp;lt;Fax&amp;gt;91.24.45.41&amp;lt;/Fax&amp;gt;&lt;br /&gt;
    &amp;lt;/Customers&amp;gt;&lt;br /&gt;
&amp;lt;/NewDataSet&amp;gt;&lt;br /&gt;
*/&lt;br /&gt;
//File:Cust.xsl&lt;br /&gt;
/*&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;html xsl:version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:for-each select=&amp;quot;/NewDataSet/Customers&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;&amp;lt;h2&amp;gt;Customer&amp;lt;/h2&amp;gt;&lt;br /&gt;
         &amp;lt;br&amp;gt;&amp;lt;b&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;CustomerID&amp;quot;/&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
         &amp;lt;br&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;CompanyName&amp;quot;/&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
         &amp;lt;br&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;ContactName&amp;quot;/&amp;gt;&amp;lt;/br&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Perform an XSL Transform==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Xml.Serialization;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Xml.Xsl;&lt;br /&gt;
&lt;br /&gt;
public class TransformXml {&lt;br /&gt;
    private static void Main() {&lt;br /&gt;
        XslTransform transform = new XslTransform();&lt;br /&gt;
            &lt;br /&gt;
        // Load the XSL stylesheet.&lt;br /&gt;
        transform.Load(&amp;quot;orders.xslt&amp;quot;);&lt;br /&gt;
            &lt;br /&gt;
        // Transform orders.xml into orders.html using orders.xslt.&lt;br /&gt;
        transform.Transform(&amp;quot;orders.xml&amp;quot;, &amp;quot;orders.html&amp;quot;, null);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Read command line input and do the xml xsl translation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Xml.Xsl;&lt;br /&gt;
public class Transform {&lt;br /&gt;
  public static void Main(string [] args) {&lt;br /&gt;
    string source = args[0];&lt;br /&gt;
    string stylesheet = args[1];&lt;br /&gt;
    string destination = args[2];&lt;br /&gt;
    XslTransform transform = new XslTransform();&lt;br /&gt;
    transform.Load(stylesheet);&lt;br /&gt;
    // for .NET v 1.0&lt;br /&gt;
    //transform.Transform(source, destination);&lt;br /&gt;
    // for .NET v 1.1&lt;br /&gt;
    transform.Transform(source, destination, null);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use XslCompiledTransform==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Xml.Xsl;&lt;br /&gt;
class MainClass {&lt;br /&gt;
    public static void Main() {&lt;br /&gt;
        XslCompiledTransform transform = new XslCompiledTransform();&lt;br /&gt;
        transform.Load(&amp;quot;orders.xslt&amp;quot;);&lt;br /&gt;
        transform.Transform(&amp;quot;orders.xml&amp;quot;, &amp;quot;orders.html&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XML transformation: transform XML file to HTML file==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Xml;           &lt;br /&gt;
using System.Xml.Xsl;       &lt;br /&gt;
using System.Xml.XPath;     &lt;br /&gt;
using System.IO;            &lt;br /&gt;
  public class XSLDemo&lt;br /&gt;
  {&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
      XslTransform xslt = new XslTransform();&lt;br /&gt;
      xslt.Load(&amp;quot;XSLTemplate.xsl&amp;quot;);&lt;br /&gt;
      XPathDocument xDoc = new XPathDocument(&amp;quot;Books.xml&amp;quot;);&lt;br /&gt;
      XmlTextWriter writer = new XmlTextWriter(&amp;quot;Books.html&amp;quot;, null);&lt;br /&gt;
      xslt.Transform(xDoc, null, writer, new XmlUrlResolver());&lt;br /&gt;
      writer.Close();&lt;br /&gt;
      StreamReader stream = new StreamReader(&amp;quot;Books.html&amp;quot;);&lt;br /&gt;
      Console.Write(stream.ReadToEnd());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
/*&lt;br /&gt;
&amp;lt;books&amp;gt;&lt;br /&gt;
  &amp;lt;book category=&amp;quot;A&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;title&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;Tom&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;price&amp;gt;19.95&amp;lt;/price&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
  &amp;lt;book category=&amp;quot;B&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;title 2&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;Jack&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;price&amp;gt;9.95&amp;lt;/price&amp;gt;&lt;br /&gt;
  &amp;lt;/book&amp;gt;&lt;br /&gt;
&amp;lt;/books&amp;gt;&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match = &amp;quot;/&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;A list of books&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
.headerClass { background-color=#ffeedd; }&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;B&amp;gt;List of books&amp;lt;/B&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td class=&amp;quot;headerClass&amp;quot;&amp;gt;Title&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td class=&amp;quot;headerClass&amp;quot;&amp;gt;Author&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td class=&amp;quot;headerClass&amp;quot;&amp;gt;Price&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;xsl:for-each select=&amp;quot;//books/book&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;author&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;price&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
*/&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>