转换内存中的XML字符串并将文本文件输出/保存到磁盘 [英] Transforming an XML String in Memory and Outputing/saving a text file to disk

查看:81
本文介绍了转换内存中的XML字符串并将文本文件输出/保存到磁盘的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码无法正常工作.基本上,我不确定如何使用另一个XSLT转换放置在StringWriter()中的xml.

My code is not working. Basically, I am not sure how to transform a xml that I place in a StringWriter() with another XSLT.

我什至不确定我是否应该使用StringWriter().错误出现在代码的最后一行.

I am not even sure if I should be using a StringWriter(). The error is in the last line of the code.

请有人能给我一些启示吗?有更好的方法吗?

Please could someone shed some light? Is there a better way of doing it?

欢呼

CP

推荐答案

这可能是因为没有xslt.Transform的重载方法将xml作为字符串,可能是您误解了 字符串inputUri.

This could be because no overload method of xslt.Transform takes xml as string, may be you misunderstood with string inputUri.

将代码更改为

protected void Page_Load(object sender, EventArgs e)
		{

			XslCompiledTransform ConvANCXslt = new XslCompiledTransform();
			XsltSettings settings = new XsltSettings();
			settings.EnableDocumentFunction = true;

			ConvANCXslt.Load(Server.MapPath("XSLT/MasterANC601.xslt"), settings, null);

			int sequencialNumber = 0003;

			XsltArgumentList argList = new XsltArgumentList();

			argList.AddParam("ProcDate", "", DateTime.Now.ToString("yyyyMMdd"));
			argList.AddParam("SeqCode", "", sequencialNumber.ToString());

			var stream = new MemoryStream();
			ConvANCXslt.Transform(Server.MapPath("XML/DealList_001.xml"), argList, stream);
			XslCompiledTransform xslt = new XslCompiledTransform();
			xslt.Load(Server.MapPath("XSLT/ANC601.xslt"));

			xslt.Transform(stream, Server.MapPath("~/ANC601.txt"));
		}

希望对您有帮助...

I hope this helps you...


这篇关于转换内存中的XML字符串并将文本文件输出/保存到磁盘的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆