将xslt输出转换保存在文件中
本文关键字:存在 文件 保存 转换 xslt 输出 | 更新日期: 2023-09-27 17:59:05
我有一个"book.xml"answers"book.xslt"输出已设置为文本模式,我不想通过浏览器加载文本文件,因为它太重了,我需要一些代码将输出文本文件保存在硬盘中。我如何用c#实现这种转换?
这应该有效:
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(@"c:'book.xslt");
xslt.Transform(@"c:'book.xml", @"c:'output.txt");
显然,您的路径需要更新以匹配您的特定场景,例如:
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(Server.MapPath("~/book.xslt"));
xslt.Transform(Server.MapPath("~/book.xml"), Server.MapPath("~/output.txt") );
这将从站点的根目录读取XSL文件,并转换/book.xml
并将其保存到/output.txt
。
你可以在这里找到更多关于System.Xml.Xsl.XslCompiledTransform
类的信息:
System.Xml.Xsl.XslCompiledTransform
使用System.Xml.Xsl.XslCompiledTransform
类。
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(Server.MapPath("~/book.xslt"));
transform.Transform(Server.MapPath("~/book.xml"), Server.MapPath("~/output.xml"));
(注意:这假设所有文档都存储在web应用程序的根目录中)
通过使用xmwwriter和类似的xdocument:
using System.Data;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;
public void xmltest(string xmlFilePath, string xslFilePath, string outFilePath)
{
var doc = new XPathDocument(xmlFilePath);
var writer = XmlWriter.Create(outFilePath);
var transform = new XslCompiledTransform();
// The following two lines are only needed if you need scripting.
// Because of security considerations read up on that topic on MSDN first.
var settings = new XsltSettings();
settings.EnableScript = true;
transform.Load(xslFilePath,settings,null);
transform.Transform(doc, writer);
}
更多信息请点击此处:http://msdn.microsoft.com/en-us/library/14689742.aspx
关于