繁体   English   中英

如何使用xslt摘要将以下xml转换为另一个xml摘要输入xml元素值应在运行时与其值一起成为输出xml标记

[英]how to transform following xml to another xml using xslt summary input xml element value should become the output xml tag with their values at runtime

如果input.xml具有键值对,则该文件可能是大文件,因此运行时输出应生成键成为输出标签名称,并且值将是使用xslt Input.xml的值。

            <keyValueStr>
                <key>memberId </key>
                <value>12345</value>
            </keyValueStr>
            <keyValueStr>
                <key>mbrAccountNumber</key>
                <value>CO12345</value>
            </keyValueStr>
            <keyValueStr>
                <key>grId</key>
                <value>4568667</value>
            </keyValueStr>
            <keyValueStr>
                <key>abc </key>
                <value>111111</value>
            </keyValueStr>
            <keyValueStr>
                <key>def</key>
                <value>22222</value>
            </keyValueStr>
            <keyValueStr>
                <key>ghi</key>
                <value>33333</value>
            </keyValueStr>

**output should like this:**
<memberMinimumInfoRequest>
            <memberid>12345</memberId>
            <mbrAccountNumber>CO12345</mbrAccountNumber>
            <grId>4568667</grId>
            <abc>111111</abc>
            <def>22222</def>
            <ghi>33333</ghi>
</memberMinimumInfoRequest>

如果每个成员的信息MemberId键开头,则可以在包含元素的模板中使用xsl:for-each-grouphttp://www.w3.org/TR/xslt20/#xsl-for-每个组 )以选择每个成员的信息并进行处理,例如:

<xsl:for-each-group select="keyValueStr"
                    group-starting-with="keyValueStr[. eq 'memberId ']">
  <memberMinimumInfoRequest>
    <xsl:apply-templates select="current-group()" />
  </memberMinimumInfoRequest>
</xsl:for-each-group>

('memberId'中是否真的应该有空格?)

暂无
暂无

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

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