1
如何從html輸出中的xslt中省略所有XML命名空間?忽略來自XslCompiledTransform.Transform的所有命名空間輸出
我的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">
和我的代碼轉換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();
但在生成的HTML輸出出現在命名空間,如下所示:
<div class="newsFeed" xmlnsxs="http://www.w3.org/2001/XMLSchema" xmlnsfn="http://www.w3.org/2005/xpath-functions" >
如何省略生成的輸出中的所有命名空間? 這很酷,如果我可以通過修改XSL來實現這一點,那麼用戶可以更改它們的XSL來嵌入它們的命名空間,但是默認情況下它將是乾淨的不帶xmlns的HTML代碼。
它完美的作品。 exclude-result-prefixes是所有名稱空間的空白分隔列表。 – 2010-08-24 12:03:37
很高興聽到它。 – mwittrock 2010-08-24 12:10:33
XslCompiledTransform是否有任何條件忽略排除結果前綴? – 2014-03-06 01:40:59