将一种XML格式转换为另一种格式

将一种XML格式转换为另一种格式,xml,xslt,Xml,Xslt,我有此XML:请将其更改为另一种格式 我尝试了下面的xslt,但它没有给我我想要的输出,你可以在我尝试使用的xslt和我得到的输出下面找到 <?xml version="1.0"?> <Offering> <!--RCCG PMS to eRemittance offering XML handshake--> <!--PARISH & OFFERING REMITTANCE INFO--> <INFO><RE

我有此XML:请将其更改为另一种格式
我尝试了下面的xslt,但它没有给我我想要的输出,你可以在我尝试使用的xslt和我得到的输出下面找到

<?xml version="1.0"?>
<Offering>
  <!--RCCG PMS to eRemittance offering XML handshake-->
  <!--PARISH & OFFERING REMITTANCE INFO-->
  <INFO><REGION>R20</REGION></INFO>
  <INFO><PARISH>RCCGP1321000050</PARISH></INFO>
  <INFO><OPTION>WEEKLY</OPTION></INFO>
  <INFO><MONTH>May</MONTH></INFO>
  <INFO><YEAR>2019</YEAR></INFO>
  <INFO><WEEK>WK2</WEEK></INFO>
  <INFO><CURRENCY>NGN</CURRENCY></INFO>
  <!--DEFAULT OFFERING-->
  <DEFAULT><MinisterTithe>6870.60</MinisterTithe></DEFAULT>
  <DEFAULT><GeneralTithe>7780.00</GeneralTithe></DEFAULT>
  <DEFAULT><SundayLoveOffering>8860.00</SundayLoveOffering></DEFAULT>
  <DEFAULT><SundaySchool>770.00</SundaySchool></DEFAULT>
  <DEFAULT><HappyOffering>4440.00</HappyOffering></DEFAULT>
  <DEFAULT><CRM>0.00</CRM></DEFAULT>
  <DEFAULT><HF>0</HF></DEFAULT>
</Offering>
<Offering>
   <INFO>
    <REGION>R20</REGION>
  <PARISH>RCCGP1321000050</PARISH>
 <OPTION>WEEKLY</OPTION>
  <MONTH>May</MONTH>
  <YEAR>2019</YEAR>
  <WEEK>WK2</WEEK>
  <CURRENCY>NGN</CURRENCY>

  </INFO>
  <DEFAULT>
    <MinisterTithe>6870.60</MinisterTithe>
    <GeneralTithe>7780.00</GeneralTithe>
    <SundayLoveOffering>8860.00</SundayLoveOffering>
    <SundaySchool>770.00</SundaySchool></DEFAULT>
    <HappyOffering>4440.00</HappyOffering>
    <CRM>0.00</CRM>
    <HF>0</HF>
  </DEFAULT>
</Offering>

R20
RCCGP1321000050
周报
也许
2019
WK2
下一代网络
6870.60
7780
8860
770
4440
0
0
我需要将上面的XML格式更改为下面的格式:请提供一些帮助,非常感谢。。。我尝试了下面的xslt,但它没有给我我想要的输出,你可以在我尝试使用的xslt和我得到的输出下面找到

<?xml version="1.0"?>
<Offering>
  <!--RCCG PMS to eRemittance offering XML handshake-->
  <!--PARISH & OFFERING REMITTANCE INFO-->
  <INFO><REGION>R20</REGION></INFO>
  <INFO><PARISH>RCCGP1321000050</PARISH></INFO>
  <INFO><OPTION>WEEKLY</OPTION></INFO>
  <INFO><MONTH>May</MONTH></INFO>
  <INFO><YEAR>2019</YEAR></INFO>
  <INFO><WEEK>WK2</WEEK></INFO>
  <INFO><CURRENCY>NGN</CURRENCY></INFO>
  <!--DEFAULT OFFERING-->
  <DEFAULT><MinisterTithe>6870.60</MinisterTithe></DEFAULT>
  <DEFAULT><GeneralTithe>7780.00</GeneralTithe></DEFAULT>
  <DEFAULT><SundayLoveOffering>8860.00</SundayLoveOffering></DEFAULT>
  <DEFAULT><SundaySchool>770.00</SundaySchool></DEFAULT>
  <DEFAULT><HappyOffering>4440.00</HappyOffering></DEFAULT>
  <DEFAULT><CRM>0.00</CRM></DEFAULT>
  <DEFAULT><HF>0</HF></DEFAULT>
</Offering>
<Offering>
   <INFO>
    <REGION>R20</REGION>
  <PARISH>RCCGP1321000050</PARISH>
 <OPTION>WEEKLY</OPTION>
  <MONTH>May</MONTH>
  <YEAR>2019</YEAR>
  <WEEK>WK2</WEEK>
  <CURRENCY>NGN</CURRENCY>

  </INFO>
  <DEFAULT>
    <MinisterTithe>6870.60</MinisterTithe>
    <GeneralTithe>7780.00</GeneralTithe>
    <SundayLoveOffering>8860.00</SundayLoveOffering>
    <SundaySchool>770.00</SundaySchool></DEFAULT>
    <HappyOffering>4440.00</HappyOffering>
    <CRM>0.00</CRM>
    <HF>0</HF>
  </DEFAULT>
</Offering>

R20
RCCGP1321000050
周报
也许
2019
WK2
下一代网络
6870.60
7780
8860
770
4440
0
0
我尝试过使用下面的xslt,但它没有满足我的要求:

PS:这就是我从下面的xslt中得到的

 <Offering>
  <!--RCCG PMS to eRemittance offering XML handshake-->
  <!--PARISH & OFFERING REMITTANCE INFO-->
  <REGION>R12</REGION>
  <PARISH>RCCGP1261000047</PARISH>
  <OPTION>WEEKLY</OPTION>
  <MONTH>Jun</MONTH>
  <YEAR>2019</YEAR>
  <WEEK>WK1</WEEK>
  <CURRENCY/>
  <!--DEFAULT OFFERING-->
  <MinisterTithe>0</MinisterTithe>
  <GeneralTithe>0</GeneralTithe>
  <SundayLoveOffering>0</SundayLoveOffering>
  <SundaySchool>0</SundaySchool>
  <HappyOffering>0</HappyOffering>
  <CRM>0</CRM>
  <HF>0</HF>
</Offering>

R12
RCCGP1261000047
周报
六月
2019
WK1
0
0
0
0
0
0
0
XSLT


您应该真正匹配
提供的
元素,并在该模板中进行分组

假设只有
INFO
DEFAULT
元素,您可以这样做

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

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

  <xsl:template match="Offering">
    <xsl:copy>
      <INFO>
        <xsl:apply-templates select="INFO/node()" />
      </INFO>
      <DEFAULT>
        <xsl:apply-templates select="DEFAULT/node()" />
      </DEFAULT>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
你能详细谈谈“不给我想要的”吗?打个招呼。