I used this extension method to convert very large xml files using xslt.
Unfortunately, I get an OutOfMemoryException on the source.ToString () line.
I understand that there must be a better way, I'm just not sure what it will be?
public static XElement Transform(this XElement source, string xslPath, XsltArgumentList arguments) { var doc = new XmlDocument(); doc.LoadXml(source.ToString()); var xsl = new XslCompiledTransform(); xsl.Load(xslPath); using (var swDocument = new StringWriter(System.Globalization.CultureInfo.InvariantCulture)) { using (var xtw = new XmlTextWriter(swDocument)) { xsl.Transform((doc.CreateNavigator()), arguments, xtw); xtw.Flush(); return XElement.Parse(swDocument.ToString()); } } }
Thoughts? Solutions? Etc.
UPDATE: Now that this is resolved, I have problems checking the circuit! Validating Large Xml Files
source share