XML自动缩进输出

来源:互联网 发布:windows检查更新失败 编辑:程序博客网 时间:2024/06/12 00:59
¢★XML缩进输出,最简单的方法!
By: 无心(cuixiping)  2005-1-28
时不时的有人问xml的缩进。
网上见的多的是孟子E章BLOG上的XSLT方法(他的blog宣传不错,名气大嘛)
    网址: http://blog.csdn.net/net_lover/archive/2004/07/27/53601.aspx
    文章: 利用xslt对xml进行缩进格式化处理
该方法可以解决问题,但是,不仅代码繁琐,而且还需要一个xsl文件。
我觉得是过于麻烦了。
其实一切可以更简单的、更方便的!
问题来源于 MSXML DOM 调用save方法后,有改动的节点将都在一行,
没有回车换行和缩进,阅读很不方便。
你想,微软不会不知道这个问题存在吧,
微软毕竟是微软,他总不会没有替你想个解决办法吧!
都没仔细看微软的文档,就来瞎折腾,把可以简单的搞复杂了!
建议大家如果用微软的 msxml ,就看看他的文档吧。
我现在贴一下我的代码:
★ASP中:
<%
Dim rdr, wrt
set rdr = Server.CreateObject("MSXML2.SAXXMLReader.4.0")
set wrt = Server.CreateObject("MSXML2.MXXMLWriter.4.0")
wrt.indent = True
Set rdr.contentHandler = wrt
'--------------------------------------------
' 可以解析 xml文件、xmlDom对象、xml字符串
' rdr.parseURL ("books.xml");
' rdr.parse (xmlDoc);
' rdr.parse ("<article><author>无心(cuixiping)</author></article>");
'--------------------------------------------
rdr.parse "<article><author>无心(cuixiping)</author></article>"
response.write ("<xmp>")
response.write (wrt.output)
response.write ("</xmp>")
%>
★JavaScript中:
<script language="JavaScript">
var rdr = new ActiveXObject("MSXML2.SAXXMLReader.4.0");
var wrt = new ActiveXObject("MSXML2.MXXMLWriter.4.0");
wrt.indent = true;
rdr.contentHandler = wrt;
/*
 * 可以解析 xml文件、xmlDom对象、xml字符串
 * rdr.parseURL ("books.xml");
 * rdr.parse (xmlDoc);
 * rdr.parse ("<article><author>无心(cuixiping)</author></article>");
 */
rdr.parse("<article><author>无心(cuixiping)</author></article>");
alert(wrt.output);
</script>