.NET v1.1中的XslTransform [英] XslTransform in .NET v1.1
问题描述
我知道自v1.0以来这已经发生了很大的变化。我正在转换我的应用程序的一小部分
我要进行转换。
错误发生在这一行:
oXslTransform。加载(XslPath + DataSourceName +" .xsl",oXmlUrlResolver);
ex.Message给我:无效网站
ex.InnerException为空
我已经验证了XslPath + DataSourceName +" .xsl"给我格式化样式表的
正确路径:
\\servername \ e $ \ XslPath \StylesheetName.xsl
这是我的代码
字符串ReportPath = ReportsFilePath + DataSourceName + TimePeriodSuffix
+ PreferredEmailFormat;
//创建一个要写的FileStream
System.IO.FileStream oFileStream = new System.IO.FileStream(ReportPath,
System.IO .FileMode.Create);
//为FileStream创建一个XmlTextWriter
System.Xml.XmlTextWriter oXmlTextWriter = new
System.Xml。 XmlTextWriter(oFileStream,System.Text.Encoding.Unicode);
尝试
{
//从中创建一个XmlDataDocument ReportData DataSet参数
XmlDataDocument oXmlDataDocument = new XmlDataDocument(ReportData);
//设置转换
System.Xml。 Xsl.XslTransform oXslTransform = new
Syst em.Xml.Xsl.XslTransform();
//加载Xsl和Transform
XmlUrlResolver oXmlUrlResolver = new XmlUrlResolver();
oXmlUrlResolver.Credentials = CredentialCache.DefaultCredentials;
oXslTransform.Load(XslPath + DataSourceName +" .xsl",oXmlUrlResolver);
// Xsl Path是类变量
oXslTransform.Transform(oXmlDataDocument,null,oXmlTextWriter,
oXmlUrlResolver);
//关闭XmlTextWriter对象
oXmlTextWriter.Close();
返回ReportPath;
}
catch(System.Exception ex) )
{
oXmlTextWriter.Close();
System.IO.File.Delete(ReportPath);
throw(ex);
}
I know this has changed greatly since v1.0. I''m converting a small portion
of my application where I do a transformation.
The error happens on this line:
oXslTransform.Load(XslPath + DataSourceName + ".xsl", oXmlUrlResolver);
ex.Message gives me: "Invalid Site"
ex.InnerException is empty
I''ve verified that XslPath + DataSourceName + ".xsl" is giving me the
correct path to the stylesheet in the format:
\\servername\e$\XslPath\StylesheetName.xsl
Here''s my code
string ReportPath = ReportsFilePath + DataSourceName + TimePeriodSuffix
+ PreferredEmailFormat;
// Create a FileStream to write with
System.IO.FileStream oFileStream = new System.IO.FileStream(ReportPath,
System.IO.FileMode.Create);
// Create an XmlTextWriter for the FileStream
System.Xml.XmlTextWriter oXmlTextWriter = new
System.Xml.XmlTextWriter(oFileStream, System.Text.Encoding.Unicode);
try
{
// Create an XmlDataDocument from the ReportData DataSet parameter
XmlDataDocument oXmlDataDocument = new XmlDataDocument(ReportData);
// Set up the transformation
System.Xml.Xsl.XslTransform oXslTransform = new
System.Xml.Xsl.XslTransform();
// Load the Xsl and Transform
XmlUrlResolver oXmlUrlResolver = new XmlUrlResolver();
oXmlUrlResolver.Credentials = CredentialCache.DefaultCredentials;
oXslTransform.Load(XslPath + DataSourceName + ".xsl", oXmlUrlResolver);
// Xsl Path is class variable
oXslTransform.Transform(oXmlDataDocument, null, oXmlTextWriter,
oXmlUrlResolver);
// Close the XmlTextWriter object
oXmlTextWriter.Close();
return ReportPath;
}
catch (System.Exception ex)
{
oXmlTextWriter.Close();
System.IO.File.Delete(ReportPath);
throw (ex);
}
推荐答案
\ XslPath \StylesheetName.xsl
这里是我的代码
字符串ReportPath = ReportsFilePath + DataSourceName + TimePeriodSuffix
+ Pr eferredEmailFormat;
//使用
创建一个FileStream System.IO.FileStream oFileStream = new System.IO.FileStream(ReportPath,
System.IO.FileMode.Create);
//为FileStream创建一个XmlTextWriter
System.Xml.XmlTextWriter oXmlTextWriter = new
系统.Xml.XmlTextWriter(oFileStream,System.Text.Encoding.Unicode);
试试
{
//创建一个来自ReportData DataSet参数的XmlDataDocument
XmlDataDocument oXmlDataDocument = new XmlDataDocument(ReportData);
//设置转换
系统.Xml.Xsl.XslTransform oXslTransform = new
System.Xml.Xsl.XslTransform();
//加载Xsl和Transform
XmlUrlResolver oXmlUrlResolver = new XmlUrlResolver();
oXmlUrlResolver.Credentials = CredentialCache.DefaultCredentials;
oXslTransform.Load(XslPath + DataSourceName +" .xsl", oXmlUrlRes olver);
// Xsl Path是类变量
oXslTransform.Transform(oXmlDataDocument,null,oXmlTextWriter,
oXmlUrlResolver);
//关闭XmlTextWriter对象
oXmlTextWriter.Close();
返回ReportPath;
}
catch(System.Exception ex)
{
oXmlTextWriter.Close();
系统.IO.File.Delete(ReportPath);
throw(ex);
}
\XslPath\StylesheetName.xsl
Here''s my code
string ReportPath = ReportsFilePath + DataSourceName + TimePeriodSuffix
+ PreferredEmailFormat;
// Create a FileStream to write with
System.IO.FileStream oFileStream = new System.IO.FileStream(ReportPath,
System.IO.FileMode.Create);
// Create an XmlTextWriter for the FileStream
System.Xml.XmlTextWriter oXmlTextWriter = new
System.Xml.XmlTextWriter(oFileStream, System.Text.Encoding.Unicode);
try
{
// Create an XmlDataDocument from the ReportData DataSet parameter
XmlDataDocument oXmlDataDocument = new XmlDataDocument(ReportData);
// Set up the transformation
System.Xml.Xsl.XslTransform oXslTransform = new
System.Xml.Xsl.XslTransform();
// Load the Xsl and Transform
XmlUrlResolver oXmlUrlResolver = new XmlUrlResolver();
oXmlUrlResolver.Credentials = CredentialCache.DefaultCredentials;
oXslTransform.Load(XslPath + DataSourceName + ".xsl", oXmlUrlResolver);
// Xsl Path is class variable
oXslTransform.Transform(oXmlDataDocument, null, oXmlTextWriter,
oXmlUrlResolver);
// Close the XmlTextWriter object
oXmlTextWriter.Close();
return ReportPath;
}
catch (System.Exception ex)
{
oXmlTextWriter.Close();
System.IO.File.Delete(ReportPath);
throw (ex);
}
必须有某种权利问题。当我的Xsl在本地驱动器上时,下面的代码非常有效,例如e:\ Xsl \ MyStyleSheet.Xsl
我得到了 ;无效网站我的样式表被引用时的错误
\\server\ e
There must be some sort of rights issue. The code below works perfectly when
my Xsl is on a local drive, for example e:\Xsl\MyStyleSheet.Xsl
I get the "Invalid Site" error when my stylesheet is being referenced as
\\server\e
\ Xsl \ MyStyleSheet.Xsl
>
George Durzi < GD **** @ hotmail.com>在消息中写道
新闻:eR ************** @ tk2msftngp13.phx.gbl ...
\Xsl\MyStyleSheet.Xsl
"George Durzi" <gd****@hotmail.com> wrote in message
news:eR**************@tk2msftngp13.phx.gbl...
我知道这已经改变了从v1.0开始。我正在转换我的应用程序的一小部分,我在那里进行转换。
错误发生在这一行:
oXslTransform.Load(XslPath + DataSourceName +" .xsl",
oXmlUrlResolver); ex.Message给了我:无效网站
ex.InnerException是空的
我已经验证了XslPath + DataSourceName +" .xsl"给我以样式表的正确路径:
\\servername \ e
I know this has changed greatly since v1.0. I''m converting a small portion
of my application where I do a transformation.
The error happens on this line:
oXslTransform.Load(XslPath + DataSourceName + ".xsl", oXmlUrlResolver); ex.Message gives me: "Invalid Site"
ex.InnerException is empty
I''ve verified that XslPath + DataSourceName + ".xsl" is giving me the
correct path to the stylesheet in the format:
\\servername\e
这篇关于.NET v1.1中的XslTransform的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!