У меня есть документ XML, возвращенный из веб-службы, который я преобразовываю в другой XML-документ, используя xsl schema
. Я получаю сообщение об ошибке 'UriFormatException was unhandled. Invalid URI: The Uri string is too long.'
Но я могу получить требуемый документ XML, если я сохраню SampleReportXML
в папке temp и прочитал его. Любая помощь будет оценена по достоинству. Благодарю.UriFormatException был необработанным
StringBuilder sb = new StringBuilder();
XmlDocument doc = new XmlDocument();
string inputXML = @"C:\TEMP\SampleReport.xml";
string transformXSL = @"C:\TEMP\TransformSchema.xsl";
XslCompiledTransform xslt = new XslCompiledTransform();
StringWriter writer = new StringWriter();
xslt.Load(transformXSL);
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = false;
XmlWriter swriter = XmlWriter.Create(sb, settings);
xslt.Transform(inputXML, null, swriter);
sb.Append(writer.ToString());
writer.Close();
sb.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "");
TextReader textReader = new StringReader(sb.ToString());
doc.Load(textReader);
return doc;
XmlDocument SampleReportXML = new XmlDocument();
SampleReportXML = WS.getReport(100); //passing the parameter value to get the report XML doc from Web service
string inputXML = SampleReportXML.InnerXml.ToString();
string transformXSL = @"C:\TEMP\TransformSchema.xsl";
XslCompiledTransform xslt = new XslCompiledTransform();
StringWriter writer = new StringWriter();
xslt.Load(transformXSL);
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = false;
XmlWriter swriter = XmlWriter.Create(sb, settings);
xslt.Transform(inputXML, null, swriter); //getting error here
sb.Append(writer.ToString());
writer.Close();
sb.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "");
TextReader textReader = new StringReader(sb.ToString());
doc.Load(textReader);
return doc;
Это сработало. Большое спасибо. – user3217334