小编The*_*heo的帖子

写在xml的末尾

我有多个Xml文件,在List<File>.我想要的是使用Xsl将这些xml转换为一个Xml:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="xml" indent="yes"/>

<xsl:template match="testsuites">
    <xsl:call-template name="summary"/>
</xsl:template>

 <xsl:template name="summary">
           <xsl:variable name="testCount" select="sum(testsuite/@tests)"/>
         <xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
         <xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
 <xsl:variable name="timeCount" select="sum(testsuite/@time)"/>
         <xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/>
          <xsl:attribute name="class">
                <xsl:choose>
                    <xsl:when test="$failureCount &gt; 0">Failure</xsl:when>
                    <xsl:when test="$errorCount &gt; 0">Error</xsl:when>
                </xsl:choose>
            </xsl:attribute>
         <Build>
          <NombreTest><xsl:value-of select="$testCount"/></NombreTest>
          <Failures><xsl:value-of select="$failureCount"/></Failures>
          <Erreurs><xsl:value-of select="$errorCount"/></Erreurs>
         <PercentSucces><xsl:call-template name="display-percent">
                    <xsl:with-param name="value" select="$successRate"/>
                </xsl:call-template></PercentSucces>
          <ExecTime><xsl:call-template name="display-time">
                   <xsl:with-param name="value" select="$timeCount"/>
                </xsl:call-template> </ExecTime>
          </Build> 
       </xsl:template>

<xsl:template match="failure">
    <xsl:call-template name="display-failures"/>
</xsl:template> …
Run Code Online (Sandbox Code Playgroud)

java xml xslt

5
推荐指数
1
解决办法
216
查看次数

使用 saxon 将参数传递给样式表

  • 我用来net.sf.saxon.TransformerFactoryImpl对多个 XML 文件进行一些转换。
  • 我正在使用集合函数来获取 XML 文件。

我想要做的(但不知道是否可行)是将一个变量传递给包含 XML 文件所在目录路径的样式表。我想从我的 Java 代码传递该变量。

    <xsl:for-each 
        select="for $x in(collection('MYVAR?select=*.xml;recurse=yes'))
                    return saxon:discard-document($x)//testsuites">
Run Code Online (Sandbox Code Playgroud)

xslt parameters saxon

5
推荐指数
1
解决办法
5795
查看次数

Linq Group在多个列上具有电位空值

我正在尝试使这项工作:

 var customerSearchResult = customers.GroupBy(                               
            x => new {
                x.CustomerID,
                x.email,
                x.CreatedOn,
                x.FirstName,
                x.LastName,
                x.Profile == null ? -1 : x.Profile.Value
            })
            .Select(csr => new CustomerSearchResult
            {
                CustomerID = csr.Key.CustomerID,
                Email = csr.Key.email,
                CreatedOn = csr.Key.CreatedOn

            });
Run Code Online (Sandbox Code Playgroud)

我得到了一个

错误CS0746无效的匿名类型成员声明符.必须使用成员分配,简单名称或成员访问声明匿名类型成员.

因为这行x.Profile == null ? -1 : x.Profile.Value Profile可以为null.

知道怎么做吗?

c# linq linq-to-entities group-by

5
推荐指数
1
解决办法
2204
查看次数

标签 统计

xslt ×2

c# ×1

group-by ×1

java ×1

linq ×1

linq-to-entities ×1

parameters ×1

saxon ×1

xml ×1