2016-09-20 116 views
-1
- <SAPAccounts> <SAPAccount ChargeNumber="0FPT15068806" 
    WSDescription="CCEC 32 - Rotor Standstill Inspection" /> <SAPAccount 
    ChargeNumber="dfgdfgfgg" WSDescription="gfghfghfhhs" /> 
    </SAPAccounts> 

我想将XML转换为不同类型的XML。我想要访问多个子节点值。转换XML子节点值

<AddChargeNumberIDto> 
<SAP> 
<ChargeNumber>0FPT15068806</ChargeNumber> 
<Description>CCEC 32 - Rotor Standstill Inspection</Description> 
<SAP> 
<SAP> 
<ChargeNumber>dfgdfgfgg</ChargeNumber> 
<Description>gfghfghfhhs</Description> 
<SAP> 
</AddChargeNumberIDto> 
+0

我们期望您开始尝试自己。如果您的代码有问题,请回来,显示代码,我们会为您提供帮助。 –

+0

我的xslt在下面 –

回答

0

以下样式:

XSLT 1.0

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

<xsl:template match="SAPAccounts"> 
    <AddChargeNumberIDto> 
     <xsl:for-each select="SAPAccount"> 
      <SAP> 
       <ChargeNumber> 
        <xsl:value-of select="@ChargeNumber"/> 
       </ChargeNumber> 
       <Description> 
        <xsl:value-of select="@WSDescription"/> 
       </Description> 
      </SAP> 
     </xsl:for-each> 
    </AddChargeNumberIDto> 
</xsl:template> 

</xsl:stylesheet> 

当应用到你的输入例如,将返回预期的结果:

<?xml version="1.0" encoding="UTF-8"?> 
<AddChargeNumberIDto> 
    <SAP> 
     <ChargeNumber>0FPT15068806</ChargeNumber> 
     <Description>CCEC 32 - Rotor Standstill Inspection</Description> 
    </SAP> 
    <SAP> 
     <ChargeNumber>dfgdfgfgg</ChargeNumber> 
     <Description>gfghfghfhhs</Description> 
    </SAP> 
</AddChargeNumberIDto> 

注意:你的样式表指的是OpenJobInfo - 但是在你的输入中没有这样的元素。