xml - 加载 XSLT 文档时路径中的非法字符
问题描述
我正在创建一种方法来返回作为 XSLT 转换结果的 HTML 字符串。
当我运行以下代码时,我在以下行中收到 Illegal Characters in Path 错误: xsltTransform.Load(xsltTemplate)
.
注意我已经通过另一种方法测试了 XSLT 转换并且它可以工作。
private string FormatCreditReport(string inputXml)
{
var xsltTransform = new XslCompiledTransform();
var webRootPath = HostingEnvironment.ApplicationPhysicalPath;
var path = webRootPath
+ "XSLT_Stylesheets"
+ Path.DirectorySeparatorChar
+ "CreditReportTransform.xslt";
var xsltTemplate = File.ReadAllText(path);
xsltTransform.Load(xsltTemplate);
StringWriter results = new StringWriter();
using (var reader = XmlReader.Create(new StringReader(inputXml)))
{
xsltTransform.Transform(reader, null, results);
}
return results.ToString();
}
XSLT 文档:
<table border ="1">
<tr>
<th><h2>Credit File</h2></th>
</tr>
<tr></tr>
<tr>
<td>File Since Date</td>
<td><xsl:value-of select="EfxTransmit/EfxReport/USConsumerCreditReports/USConsumerCreditReport/USHeader/CreditFile/FileSinceDate"/></td>
</tr>
<tr>
<td>Date of Last Activity</td>
<td><xsl:value-of select="EfxTransmit/EfxReport/USConsumerCreditReports/USConsumerCreditReport/USHeader/CreditFile/DateOfLastActivity"/></td>
</tr>
<tr>
<td>Date of Request</td>
<td><xsl:value-of select="EfxTransmit/EfxReport/USConsumerCreditReports/USConsumerCreditReport/USHeader/CreditFile/DateOfRequest"/></td>
</tr>
<tr></tr>
<tr>
<th><h2>Subject</h2></th>
</tr>
<tr>
<td>Last Name</td>
<td><xsl:value-of select="EfxTransmit/EfxReport/USConsumerCreditReports/USConsumerCreditReport/USHeader/Subject/LastName"/></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
解决方案
无需调用 File.ReadAllText(path)。只需传递完全限定的文件路径,如下所示:
'var xsltTemplate = File.ReadAllText(path);
xsltTransform.Load(path);
推荐阅读
- pandas - pandas groupby:整体/总行?
- junit - 我如何对这段代码进行单元测试?
- sql-server - 为什么 SQL Server Profiler 从客户端计算机对数据库计算机运行时会崩溃?
- sql - 在 SQL 之上列出实现
- r - 如何在包 dev 中打开的项目中自动加载和附加导入的函数?
- jersey - JerseyServletModule 和 ServletModule 有什么区别?
- c# - Excel VSTO 异步按钮 - 用户交互的奇怪行为?
- javascript - 多聚合查询 MongoDB
- google-maps - 如何在谷歌地图图像中获取流量
- python - 两个日期之间的日期和时间增量