在Visual Studio中调试XSLT

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:
 XSLT (eXtensible Stylesheet Language Transformation) 是一种用来转换XML文档结构的语言。 
      相信大家对XML已经并不陌生了,它是一种计算机程序间交换原始数据的简单而标准的方法,HTML是一种特殊的XML,XSLT本身也是一种XML,只不过前者用来在浏览器中展示特定的文本信息,后者则被用来格式化XML中的数据,按照XSLT文档中指定的要求输出XML中的数据。可以毫不夸张地说,XSLT之于XML就好比CSS之于HTML。有关XSLT更加详细的介绍和使用,读者可以参考 W3School 中有关XSLT的部分。 
      在Visual Studio中开发和使用XSLT是非常方便的,这要归功于Microsoft的XML控件,我不太记得这个控件是在.NET的哪个版本中开始引入的,不过自从有了这个控件,我们在程序中加载和格式化XML输出就变得异常轻松。网上有很多介绍XML控件的文章和例子,使用起来大概是这个样子: 
< asp:Xml  ID ="xmlContent"  runat ="server"  DocumentSource ="~/xbrl/XBRL.xml"   />

复制代码
1  xmlContent.TransformSource  =   " ~/xsl/IncomeStatement.xslt "
2   
3  xmlContent.TransformArgumentList  =   new  System.Xml.Xsl.XsltArgumentList(); 
4  xmlContent.TransformArgumentList.AddParam( " Quarter " string .Empty, currentQuarter.Number); 
5  xmlContent.TransformArgumentList.AddParam( " Year " string .Empty, currentQuarter.Year); 
6  xmlContent.TransformArgumentList.AddParam( " StatementType " string .Empty, FinancialTable.ToString());
复制代码

       在XML控件中可以直接通过DocumentSource属性指定要加载的XML文件,XSLT文件也可以在前台代码中通过TransformSource属性来指定,上例中的后台代码主要是为了给XSLT文件传递三个参数,以便在解析XML文件时可以根据这三个参数的值做一些判断运算。 
      在一般的应用中,当XML文件的结构简单时,我们几乎可以自己编写脚本来完成所有的格式化工作,这毫不费力!而且即使使用XSLT来解析,遇到问题也可以非常直观地去修改。但是如果要解析的XML文件非常庞大和复杂,例如在XBRL (eXtensible Business Reporting Language, 通用业务报告语言) 中,我们通常都需要使用XSLT来解析XBRL实体文件,进而生成许多复杂的企业财务报表。这个时候如果遇到错误,直观地去观察代码很难发现错误。既然XSLT中可以编写代码逻辑并支持简单的逻辑运算,那么它可不可以调试呢?就像我们调试C#代码一样! 
      网上有很多专门用于调试XSLT代码的工具,不过都不是很理想。事实上,Visual Studio就提供了很好的XSLT调试器,而且是集成在开发环境中的,我们可以非常容易地使用它来进行XSLT的调试。

9-17-2009 9-40-49 AM

 

                9-17-2009 9-41-45 AM

       XSLT是用来解析XML的,所在,调试的时候只需要有这两个文件就足够了,并不需要实际的运行环境或者页面。有两种方法可以启动XSLT调试,除了上面给出的两个菜单位置外,你可以在XML文件中设置断点,或者在XSLT文件中设置断点,个人比较倾向于后者,因为解析过程中的关键算法都写在XSLT文件中,直接设置断点在调试时实时跟踪各个变量的值是最直观地。 
      点击Debug XSLT,如果你是通过XML文件进行调试的,Visual Studio会弹出选择XSLT文件的对话框;如果你是通过XSLT文件进行调试的,Visual Studio会弹出选择XML文件的对话框。选择文件后XSLT便开始尝试去解析对应的XML文件,如果遇到断点则停下来,这时你可以像调试C#代码一样调试XSLT。

9-17-2009 10-00-00 AM

      解析的结果会显示在右边的窗口中,最终的结果应当会是一段相对完整的HTML,这要取决于你的XSLT文件中的定义。

      如果你在编写复杂XSLT文件时经常遇到问题,不妨可以使用Visual Studio提供的这个调试工具进行XSLT的调试,相信你也可以编写出功能非常强大的XSLT文件,从而将XML文件解析出各种不同的样式。


本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/archive/2009/09/17/1568249.html,如需转载请自行联系原作者


相关文章
|
存储 程序员 编译器
Visual Studio 2022 程序员必须知道高效调试手段与技巧(下)终章
Visual Studio 2022 程序员必须知道高效调试手段与技巧(下)终章
168 0
|
2月前
|
微服务
微服务实践之使用 Visual Studio 2022 调试Dapr 应用程序
微服务实践之使用 Visual Studio 2022 调试Dapr 应用程序
50 2
|
7月前
在visual studio中调试程序 管理员权限添加
在visual studio中调试程序 管理员权限添加
132 0
VisualStudio 调试 添加命令行参数
VisualStudio 调试 添加命令行参数
95 0
|
存储 程序员 C++
Visual Studio 2022 程序员必须知道高效调试手段与技巧(中)
Visual Studio 2022 程序员必须知道高效调试手段与技巧(中)
263 0
|
程序员 C++ Windows
Visual Studio 2022 程序员必须知道高效调试手段与技巧(上)
Visual Studio 2022 程序员必须知道高效调试手段与技巧(上)
269 0
|
开发框架 .NET C#
Visual Studio Code调试和发布ASP.NET Core Web应用
Visual Studio Code调试和发布ASP.NET Core Web应用
177 0
|
Rust NoSQL 编译器
Rust在Visual Studio Code中调试提示debug type is not supported
Rust在Visual Studio Code中调试提示debug type is not supported
303 0
Rust在Visual Studio Code中调试提示debug type is not supported
|
前端开发 API 开发者
.NET Web应用配置本地IIS(实现Visual Studio离线运行与调试
.NET Web应用配置本地IIS(实现Visual Studio离线运行与调试
373 0
.NET Web应用配置本地IIS(实现Visual Studio离线运行与调试
|
存储 JSON JavaScript
简说Visual Studio代码进行调试
前端编程很有趣,开发人员有能力创建他们想要的任何东西,任何效果。不幸的是,当遇到bug时,这种乐趣就会消失。JavaScript开发人员可能首先想到的是alert、console.log语句。添加console.log()是可视化代码状态的一种快速方法。
326 0
简说Visual Studio代码进行调试