一个Xsl文件中,有html标签类似
<div class="clear"></div>
在使用XslCompiledTransform转换后,变成了
<div class="clear" />
这种标签浏览器是不认的,会理解为<div class="clear">,所以嵌套就出错了。
后来想了个办法
<div class="clear"> </div>
这样被转换为
<div class="clear"> </div>
中间有个空格。这样倒还能接受。
但是引用js脚本的时
<script type="text/javascript" src="..."></script>
这个也变成了<srcipt ... />
当然
<script type="text/javascript" src="..."> </script>
也可以解决,但是太山寨了。请问什么地方可以设置它不让成对的空标签转换为单个封闭标签?
<div class="clear"></div>
在使用XslCompiledTransform转换后,变成了
<div class="clear" />
这种标签浏览器是不认的,会理解为<div class="clear">,所以嵌套就出错了。
后来想了个办法
<div class="clear"> </div>
这样被转换为
<div class="clear"> </div>
中间有个空格。这样倒还能接受。
但是引用js脚本的时
<script type="text/javascript" src="..."></script>
这个也变成了<srcipt ... />
当然
<script type="text/javascript" src="..."> </script>
也可以解决,但是太山寨了。请问什么地方可以设置它不让成对的空标签转换为单个封闭标签?
settings.OutputMethod= XmlOutputMethod.Html;XmlCompiledTransform.OutPutSetting = settings;
谢谢,我按这个思路查查,但是XmlWriterSettings.OutputMethod是只读的。
也许是我对c#的xslt这些东西不够了解,能不能再帮想想办法?
settings.OutputMethod= XmlOutputMethod.Html;
XmlWriter writer = XmlWriter.Create("result.xml", settings);xslt.Transform("input.xml", writer);
writer.Close();之前那段代码我是随手写的,没有测试,有些问题
变通一下,上面的代码应该是可以的
XmlWriterSettings.OutputMethod is ReadOnly