利用 XSLT 对 XML 进行缩进格式化处理
在CSDN论坛上,经常有人提问:怎么样使输出XML文件有自动缩进的效果,实现这个功能有几种办法:1,可以用程序控制,输出时输出tab控制符或者空格即可;2,在.NET下提供了格式化的属性,参考利用XmlTextWriter类增强XML数据的可读性;3,我们还可以用XSLT进行转换,下面就是实现的例子:
XmlFormat.htm
<SCRIPT>
//装载数据
str = "<r><a name='net_lover'>aaaaaaaaaaa</a> <b>bbbbbbb</b>"
str += "<a>aaaaaaaaaaa</a><b>bbbbbbb</b></r>"
var source = new ActiveXObject("Msxml2.DOMDocument");
source.async = false;
source.loadXML(str)
alert(source.xml)
// 装载样式单
var stylesheet = new ActiveXObject("Msxml2.DOMDocument");
stylesheet.async = false;
stylesheet.resolveExternals = false;
stylesheet.load("style.xsl");
alert(stylesheet.xml)
// 创建结果对象
var result = new ActiveXObject("Msxml2.DOMDocument");
result.async = false;
// 把解析结果放到结果对象中方法1
source.transformNodeToObject(stylesheet, result);
alert(result.xml)
// 把解析结果放到结果对象中方法2
result2 = ""
result2 = source.transformNode(stylesheet);
source.loadXML(result2)
alert(source.xml)
</SCRIPT>
style.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method = "xml" omit-xml-declaration = "yes" indent = "yes"/>
<xsl:template match="/ | @* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
【相关文章:】
仅用xsl和asp实现分页功能
利用XSLT把ADO记录集转换成XML
如何使用XSL和正则表达式来验证数据的有效性(二)
如何使用XSL和正则表达式来验证数据的有效性
利用xslt对xml进行缩进格式化处理
使用xsl筛选记录
利用XSL和ASP实现XML文档在线编辑
利用XSL对XML数据进行加密和大小写转换
用XSL把XML的数据转换成完美的多列表格形式
在XSLT中实现按日期排序
【发表评论】【打印此文】【关闭窗口】【点击数: 】
