I get special characters transformed in the result of an xslt file transformation.
Has anyone experienced this before?
In the source document there's a character &
which in the result is presented as &
. I need the the original &
character even in the result.
XmlDataDocument dd = new XmlDataDocument(ds);
XsltSettings settings = new XsltSettings();
settings.EnableDocumentFunction = true;
settings.EnableScript = true;
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(XmlReader.Create(new StringReader(transformSource.Transform)), settings, new XmlUrlResolver());
XsltArgumentList a = new XsltArgumentList();
a.AddExtensionObject("http://www.4plusmedia.tv", new TransformationHelper());
using (XmlTextWriter writer = new XmlTextWriter(path, System.Text.Encoding.UTF8))
{
writer.Formatting = Formatting.Indented;
transform.Transform(dd, a, writer);
}
If you want XslCompiledTransform to output a plain text file as a result of an XSLT transformation you should not transform to an XmlTextWriter you create, instead transform to a FileStream or TextWriter.