使用XSLT进行XML转换

时间:2014-11-20 11:50:04

标签: xml xslt

我有一个当前的XML文件,如下所示。

<INVOICES>
  <INVOICE>
    <HEADER>
        <DocumentID>001500113139_1260538</DocumentID>
        <DocumentID>001500113138_1262778</DocumentID>
        <DocumentID>001500113137_1262762</DocumentID>
        <DocumentID>001500113136_1260522</DocumentID>               
    </HEADER>
  </INVOICE>
</INVOICES>

必须使用XSLT将其转换为以下格式。

<Batches>
    <Batch ID="20141119">
      <Documents>
        <Document ID= 001500113139_1260538 />
        <Document ID= 001500113138_1262778 />
        <Document ID= 001500113137_1262762 />
        <Document ID= 001500113136_1260522 />
      </Documents>
    </Batch>
</Batches>

如何将Xml元素映射到属性。有人可以建议吗。

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

  <xsl:template match="/">
    <Batches>
      <Batch ID="20141119">
        <xsl:for-each select="//DocumentID">
          <Document>
            <xsl:attribute name="ID">
              <xsl:value-of select="."/>
            </xsl:attribute>
          </Document>
        </xsl:for-each>
      </Batch>
    </Batches>
  </xsl:template>