Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string transformXML = @"pathToXslDocument";
- XmlDocument originalXml = new XmlDocument();
- XmlDocument transformedXml = new XmlDocument();
- XslCompiledTransform transformer = new XslCompiledTransform();
- DataSet ds = new DataSet();
- string filepath;
- originalXml.LoadXml(ds.GetXml()); //data loaded prior
- StringBuilder sb = new StringBuilder();
- XmlWriter writer = XmlWriter.Create(sb);
- transformer.Load(transformXML);
- transformer.Transform(originalXml, writer); //no need to select the node
- transformedXml.LoadXml(sb.ToString());
- transformedXml.Save(filepath);
- writer.Close();
- BufferedStream stream = new BufferedStream(new MemoryStream());
- DataSet ds = new DataSet();
- da.Fill(ds);
- ds.WriteXml(stream);
- StreamReader sr = new StreamReader(stream, true);
- stream.Position = 0; //I'm not certain if this is necessary, but for the StreamReader to read the text the position must be reset.
- XmlReader reader = XmlReader.Create(sr, null); //Problem is created here, the XmlReader is created with none of the data from the StreamReader
- XslCompiledTransform transformer = new XslCompiledTransform();
- transformer.Load(@"<path to xsl file>");
- transformer.Transform(reader, null, writer); //Exception is thrown here, though the problem originates from the XmlReader.Create(sr, null)
- BufferedStream stream = new BufferedStream(new MemoryStream());
- stream.Write(Encoding.ASCII.GetBytes("<xml>foo</xml>"), 0, "<xml>foo</xml>".Length);
- stream.Seek(0, SeekOrigin.Begin);
- StreamReader sr = new StreamReader(stream);
- XmlReader reader = XmlReader.Create(sr);
- while (reader.Read())
- {
- Console.WriteLine(reader.Value);
- }
- stream.Close();
- System.Xml.XmlDocument orgDoc = new System.Xml.XmlDocument();
- orgDoc.LoadXml(orgXML);
- // MUST SELECT THE ROOT NODE
- XmlNode transNode = orgDoc.SelectSingleNode("/");
- System.Text.StringBuilder sb = new System.Text.StringBuilder();
- XmlWriter writer = XmlWriter.Create(sb);
- System.IO.StringReader stream = new System.IO.StringReader(transformXML);
- XmlReader reader = XmlReader.Create(stream);
- System.Xml.Xsl.XslCompiledTransform trans = new System.Xml.Xsl.XslCompiledTransform();
- trans.Load(reader);
- trans.Transform(transNode, writer);
- XmlDocument doc = new XmlDocument();
- doc.LoadXml(sb.ToString());
- return doc;
Add Comment
Please, Sign In to add comment