繁体   English   中英

如何使用XSLT根据XML文件中的值计数更改属性值

[英]How to change the attribute value based on the count of value in XML file using XSLT

我有下面的示例XML文件,我只需要根据XML中的“状态”值更改testng-results标记值,例如通过,失败,跳过

输入样例:

<?xml version="1.0" encoding="UTF-8"?>
  <testng-results skipped="0" failed="0" total="10" passed="10">
    <test-method status="FAIL" is-config="true" duration-ms="4"
        started-at="2018-08-16T21:43:38Z" finished-at="2018-08-16T21:43:38Z">
        <params>
            <param index="0">
                <value>                <![CDATA[org.testng.TestRunner@31c2affc]]>
                </value>
            </param>
        </params>
        <reporter-output>
        </reporter-output>
     </test-method> <!-- setParameter -->
      <test-method status="PASS" is-config="true" duration-ms="4"
        started-at="2018-08-16T21:43:38Z" finished-at="2018-08-16T21:43:38Z">
        <params>
            <param index="0">
                <value>                <![CDATA[org.testng.TestRunner@31c2affc]]>
                </value>
            </param>
        </params>
        <reporter-output>
        </reporter-output>
     </test-method> <!-- setParameter -->
      <test-method status="SKIPPED" is-config="true" duration-ms="4"
        started-at="2018-08-16T21:43:38Z" finished-at="2018-08-16T21:43:38Z">
        <params>
            <param index="0">
                <value>                <![CDATA[org.testng.TestRunner@31c2affc]]>
                </value>
            </param>
        </params>
        <reporter-output>
        </reporter-output>
     </test-method> <!-- setParameter -->
  </testng-results>

对于以上示例,我们具有一个PASS,FAIL和SKIPPED状态()。 首先,我们需要在输入XML文件中获取PASS,FAIL,SKIPPED的计数,并相应地更改testng-results标签中的值。 上面的有效负载标签值的输出应更新如下:

 <testng-results skipped="1" failed="1" total="3" passed="1">

“合计”是所有人的状态。

是否可以通过使用XSLT来实现?

您可以简单地使用:

<testng-results skipped="{count(//test-method/@status='SKIPPED')}" failed="{count(//test-method/@status='FAIL')}" total="{count(//test-method)}" passed="{count(//test-method/@status='PASS')}">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM