.NET v1.1中的XslTransform [英] XslTransform in .NET v1.1

查看:72
本文介绍了.NET v1.1中的XslTransform的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道自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屋!

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