加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Xml到html使用VS Projects的检查代码的xslt

发布时间:2020-12-16 23:28:04 所属栏目:百科 来源:网络整理
导读:我有一个InspectionResults.xml,当我从JetbrainsCommandLine Tool Analysis运行inspectcode.exe时生成它.是否有Jetbrains提供的xslt文件将此xml转换为html.我能够使用他们提供的xslt将DuplicateReport.xml转换为html. Jetbrains是否为此转换提供了一个.如果
我有一个InspectionResults.xml,当我从JetbrainsCommandLine Tool Analysis运行inspectcode.exe时生成它.是否有Jetbrains提供的xslt文件将此xml转换为html.我能够使用他们提供的xslt将DuplicateReport.xml转换为html. Jetbrains是否为此转换提供了一个.如果没有,请帮助我.

我的xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generated by JetBrains Inspect Code 9.1 -->
<Report ToolsVersion="102.0">
<Information>
<Solution>ServerServer.sln</Solution>
<InspectionScope>
 <Element>Solution</Element>
</InspectionScope>
</Information>
<IssueTypes>
<IssueType Id="ArrangeStaticMemberQualifier" Category="Code Style" Description="Add/remove qualifier for static members" Severity="WARNING" />
<IssueType Id="ArrangeThisQualifier" Category="Code Style" Description="Add/remove 'this.' qualifier" Severity="WARNING" />
 <IssueType Id="CSharpErrors" Category="C# Compiler Errors" Description="" Severity="ERROR" />
 </IssueTypes>

  <Issues>
  <Project Name="Common">
  <Issue TypeId="RedundantUsingDirective" File="CommonAdapterAuthorizationException.cs" Offset="15-48" Line="2" Message="Using directive is not required by the code and can be safely removed" />
  <Issue TypeId="RedundantUsingDirective" File="CommonAdapterAuthorizationException.cs" Offset="50-68" Line="3" Message="Using directive is not required by the code and can be safely removed" />
  <Issue TypeId="CSharpErrors" File="CommonAdapterAuthorizationException.cs" Offset="63-67" Line="3" Message="Cannot resolve symbol 'Linq'" />
  </Project>
  </Issues>
  </Report>

解决方法

我找到了这个在Resharper命令行工具的概述功能中提到的inspectcode.xslt,并且工作得很好.

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
  <xsl:key name="ISSUETYPES" match="/Report/Issues/Project/Issue" use="@TypeId"/>
  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/" name="TopLevelReport">
    <html>
      <head>
        <title>Resharper InspectCode Report</title>

        <style>
        body { font-family: Arial; }
        th,td { text-align: left; }
        .severity { font-weight: bold; }
        </style>
      </head>
      <body>
        <h1>Resharper InspectCode Report</h1>

        <xsl:for-each select="/Report/IssueTypes/IssueType">
          <h2>
            <span class="severity"><xsl:value-of select="@Severity"/></span>: <xsl:value-of select="@Description"/>
          </h2>
          <table style="width:100%">
            <tr>
              <th>File</th>
              <th>Line Number</th>
              <th>Message</th>
            </tr>
            <xsl:for-each select="key('ISSUETYPES',@Id)">
              <tr>
                <td>
                  <xsl:value-of select="@File"/>
                </td>
                <td>
                  <xsl:value-of select="@Line"/>
                </td>
                <td>
                  <xsl:value-of select="@Message"/>
                </td>
              </tr>
            </xsl:for-each>
          </table>
          <br />
          <hr />
          <br />
        </xsl:for-each>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

此内容取自:

https://gist.github.com/maartenba/b7b1866d11a54cf3bc9f04316afa1a9e

功能概述如下:

https://www.jetbrains.com/help/resharper/ReSharper_Command_Line_Tools.html
在那个视频中提到了这个xslt

如果您需要工具来应用此XSLT,请参阅此问题和答案

Are there any XSLT processing command line tools?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读