XSLT:根据另一个节点中另一个元素的值来修改一个节点中的值

时间:2018-10-02 16:10:10

标签: xml xslt xslt-2.0

在此之前,我从未使用过xslt。我正在尝试将一个xml转换为另一个完全相同的xml,只是我需要根据另一个节点中的另一个元素来修改一个元素的值。

输入XML:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
   <companyCode>002</companyCode>
   <transportation>
      <express>
         <revenue>
            <rateSourceCode>REBS</rateSourceCode>
         </revenue>
      </express>
   </transportation>
   <system>
      <control>
         <engineName>OR</engineName>
      </control>
      <activityCc>1000</activityCc>
      <transactionName>RB</transactionName>
   </system>
</root>

输出XML: 我需要检查位于System节点下的transactionName,并在此基础上修改在transport> express> Revenue

下的rateSourceCode值。

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

这是要复制所有内容,但是我不知道在比较后如何修改一个节点。

0 个答案:

没有答案