StringBuilder XSL? XSL , ?
,
string xslt =
@"<?xml version=""1.0"" encoding=""UTF-8""?>" +
"<xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"">" +
"<xsl:output method=""xml"" version=""1.0"" encoding=""UTF-8"" indent=""yes""/>" +
"<xsl:template match=""*"">" +
"<xsl:if test=""count(@*) > 0 or count(node()) > 0"">" +
"<xsl:copy>" +
"<xsl:apply-templates select=""@* | node()""/>" +
"</xsl:copy>" +
"</xsl:if>" +
"</xsl:template>" +
"<xsl:template match=""@* | text()"">" +
"<xsl:copy/>" +
"</xsl:template>" +
"</xsl:stylesheet>";
StringBuilder resultString = new StringBuilder();
XmlTextWriter xmlWriter = new XmlTextWriter(new StringWriter(resultString));
XmlTextReader xmlReader = new XmlTextReader(new StringReader(xmlString));
System.Xml.Xsl.XslCompiledTransform xslTransform = new System.Xml.Xsl.XslCompiledTransform();
xslTransform.Load(new XmlTextReader(new StringReader(xslt)));
xslTransform.Transform(xmlReader, xmlWriter);
xmlReader.Close();
xmlWriter.Flush();
xmlWriter.Close();
, , use() xmlReader xmlWriter. , . ,
StringBuilder resultString = new StringBuilder();
using (XmlTextWriter xmlWriter = new XmlTextWriter(new StringWriter(resultString)))
{
using (XmlTextReader xmlReader = new XmlTextReader(new StringReader(xmlString)))
{
System.Xml.Xsl.XslCompiledTransform xslTransform = new System.Xml.Xsl.XslCompiledTransform();
xslTransform.Load(new XmlTextReader(new StringReader(xslt)));
xslTransform.Transform(xmlReader, xmlWriter);
}
}