如何在html-output中省略xslt中的所有XML-Namespace?
我的XSL开头:
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
Run Code Online (Sandbox Code Playgroud)
我转换XML的代码如下
StringBuilder sb = new StringBuilder(600);
XslCompiledTransform xslTrans = new XslCompiledTransform();
xslTrans.Load(XslDoc);//loads the XSL
XmlWriterSettings writerSettings = new XmlWriterSettings();
writerSettings.OmitXmlDeclaration = true;
writerSettings.ConformanceLevel = ConformanceLevel.Auto;
writerSettings.NamespaceHandling = NamespaceHandling.OmitDuplicates;
using (XmlWriter stringWriter = XmlWriter.Create(sb, writerSettings))
{
xslTrans.Transform(XmlDoc, xslArguments, stringWriter);
}
return sb.ToString();
Run Code Online (Sandbox Code Playgroud)
但是在生成的html输出中出现的命名空间如下:
<div class="newsFeed" xmlnsxs="http://www.w3.org/2001/XMLSchema" xmlnsfn="http://www.w3.org/2005/xpath-functions" >
Run Code Online (Sandbox Code Playgroud)
如何省略生成的输出中的所有命名空间?很酷,如果我可以通过修改XSL来做到这一点,那么用户可以更改他们的XSL以嵌入他们的命名空间,但默认情况下它将是干净的HTML-Code而不是xmlns.
| 归档时间: |
|
| 查看次数: |
1126 次 |
| 最近记录: |