-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Expand file tree
/
Copy pathXslt_Transform_v2.cs
More file actions
178 lines (151 loc) · 4.84 KB
/
Xslt_Transform_v2.cs
File metadata and controls
178 lines (151 loc) · 4.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
using System;
using System.Text;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
using System.Net;
class XslCompiledTransform_Samples {
static void Main() {
}
// Transform files
static void XslCompiledTransform_Transform1() {
//<snippet1>
// 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");
//</snippet1>
}
//==============================//
// Transform URI and XmlWriter
static void XslCompiledTransform_Transform2() {
//<snippet2>
// 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();
//</snippet2>
}
//==============================//
// Transform URI and TextWriter
static void XslCompiledTransform_Transform3() {
//<snippet3>
// 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();
//</snippet3>
}
//==============================//
// Transform with document function
static void XslCompiledTransform_Transform4() {
string UserName = "username";
// In production code, do not hardcode credentials in source code.
// Instead, retrieve them from a secure store such as Azure Key Vault.
string SecurelyStoredPassword = "psswd";
string Domain= "domain";
//<snippet4>
// 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);
}
}
//</snippet4>
}
//==============================//
// Transform XPathDocument and XmlWriter
static void XslCompiledTransform_Transform5() {
//<snippet5>
// 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();
//</snippet5>
}
//==============================//
// Transform XPathDocument and FileStream
static void XslCompiledTransform_Transform6() {
//<snippet6>
// 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);
}
//</snippet6>
}
//==============================//
// Transform XmlReader and XmlWriter
static void XslCompiledTransform_Transform7() {
//<snippet7>
// 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();
//</snippet7>
}
//==============================//
// Print Names of Temp Files
static void Print_TempFiles()
{
//<snippet8>
// Create the XslCompiledTransform object.
XslCompiledTransform xslt = new XslCompiledTransform(true);
// Load the style sheet and enable scripts.
// Temporary files are created only for style sheets with <msxsl:script> blocks.
xslt.Load("output.xsl", XsltSettings.TrustedXslt, new XmlUrlResolver());
// Transform the file.
xslt.Transform("books.xml", "output.xml");
// Output names of temporary files.
foreach (string filename in xslt.TemporaryFiles)
Console.WriteLine(filename);
//</snippet8>
}
}