在 XslCompiledTransform 中选取对 XSLT 文件的更改
Pick changes to XSLT file up in XslCompiledTransform
我有一个 XSLT 文件,我对它做了一些小的修改。
XSLT 中的更改在编译时似乎没有被拾取。
不确定这应该如何工作..是否需要在此函数中编写其他内容才能选择新的更改?
private static String TransformDocumentByType(Type type, XPathDocument xpathDoc, XsltArgumentList argsList)
{
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(type);
// Get the transformed result
StringWriter sw = new StringWriter();
XhtmlTextWriter tw = new XhtmlTextWriter(sw);
transform.Transform(xpathDoc, argsList, tw);
String result = sw.ToString();
//remove the namespace attribute
result = result.Replace("xmlns:asp=\"remove\"", "").Replace("xmlns:ant=\"remove\"", "");
return result;
}
我加载的是 XSLT 文件的类型而不是字符串路径。
稍后将继续使用该类型,但我怀疑 DLL 需要使用 XSLTC.exe 重新编译。
现在,将只使用字符串路径。
transform.Load("path_to_xslt_file");
我有一个 XSLT 文件,我对它做了一些小的修改。
XSLT 中的更改在编译时似乎没有被拾取。
不确定这应该如何工作..是否需要在此函数中编写其他内容才能选择新的更改?
private static String TransformDocumentByType(Type type, XPathDocument xpathDoc, XsltArgumentList argsList)
{
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(type);
// Get the transformed result
StringWriter sw = new StringWriter();
XhtmlTextWriter tw = new XhtmlTextWriter(sw);
transform.Transform(xpathDoc, argsList, tw);
String result = sw.ToString();
//remove the namespace attribute
result = result.Replace("xmlns:asp=\"remove\"", "").Replace("xmlns:ant=\"remove\"", "");
return result;
}
我加载的是 XSLT 文件的类型而不是字符串路径。
稍后将继续使用该类型,但我怀疑 DLL 需要使用 XSLTC.exe 重新编译。
现在,将只使用字符串路径。
transform.Load("path_to_xslt_file");