最近经常玩批处理(BAT):生成XML&XSL模板
2009/5/31 10:06:48
阅读全文(1919) | 回复(0) | 编辑 | 精华
经常在中国XML论坛里参加XML技术讨论,因很多不确定的因素,测试代码就显得比较重要。但是每次都得手工创建一个测试用的XML&XSL就很麻烦。以下代码虽然不能完全“解放劳动力”,至少减轻了创建和关联XSL的工作。 CODE: @echo off & title 生成XML,XSL模板color 0arem 启用延迟的环境变量rem setlocal enabledelayedexpansion:starset fn=set/p fn=请输入一个不包含扩展名的文件名:set xml=%fn%.xmlset xsl=%fn%.xslrem 以下只判断是否存在同名XML,不考虑XSLif exist %xml% cls & echo %xml%已经存在,请重新输入一个文件名! & echo. & goto starrem 以下为生成XML&XSL的代码echo ^<?xml version="1.0" encoding="gb2312"?^> > %xml%echo ^<?xml-stylesheet href="%xsl%" type="text/xsl"?^> >> %xml%echo. >> %xml%rem 插入个把宣传链接总可以吧:-)echo ^<!--欢迎访问我的博客http://Qr.blogger.org.cn--^> >> %xml%echo. >> %xml%echo ^<root^> >> %xml%echo. >> %xml%echo ^</root^> >> %xml%rem type %xml% echo ^<?xml version="1.0" encoding="gb2312"?^> > %xsl%echo ^<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"^> >> %xsl%echo. >> %xsl%echo ^<!--欢迎访问我的博客http://Qr.blogger.org.cn--^> >> %xsl%echo. >> %xsl%echo ^<xsl:template match="/"^> >> %xsl%echo ^<xsl:apply-templates/^> >> %xsl%echo ^</xsl:template^> >> %xsl%echo. >> %xsl%echo ^<xsl:template match="root"^> >> %xsl%echo. >> %xsl%echo ^</xsl:template^> >> %xsl%echo. >> %xsl%echo ^</xsl:stylesheet^> >> %xsl% rem 用记事本打开XML&XSL文档。Notepad %xml% & Notepad %xsl%rem BAT中,记事本不支持同时打开多个文档,不知如何解决?rem XML关闭后,XSL才会打开,最后浏览器打开XML用于预览explorer %xml%pause 说明:XML只输出一个名为root的根目录,XSL也只输出一个空模板,方便加入测试用的代码。 关键:XML标记的“<”、“>”是恰好的BAT的命令符,要输出必须在其前加“^”,用法类似javascript的“\”。 输出结果样例: TEST.XML:<?xml version="1.0" encoding="gb2312"?> <?xml-stylesheet href="TEST.xsl" type="text/xsl"?> <!--欢迎访问我的博客http://Qr.blogger.org.cn--> <root> </root> TEST.XSL:<?xml version="1.0" encoding="gb2312"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!--欢迎访问我的博客http://Qr.blogger.org.cn--> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="root"> </xsl:template> </xsl:stylesheet> 另外,提注意的是,BAT不支持UTF-8集,所以,不要将encoding的属性值改为其它如UTF-8等,否则包含中文的XML将无法正确解析。
Posted by Qr on 2009/5/31 10:06:48
发表评论: |