Xslt XSL中每个元素的多个子元素

Xslt XSL中每个元素的多个子元素,xslt,Xslt,我对XSL中的每个标记使用: 情景 输入xml <root> <parent> <Child 1> <Child2> data1 data2 data3 .... ... </child2> <Child2>

我对XSL中的每个标记使用:

情景

输入xml

<root>
  <parent>
     <Child 1>
         <Child2>
              data1
              data2
              data3
                ....
                ...
         </child2>
        <Child2>
              data1
              data2
              data3
                ....
                ...
         </child2>
         <Child2>
              data1
              data2
              data3
                ....
                ...
         </child2>
</child1>
</parent>

数据1
数据2
数据3
....
...
数据1
数据2
数据3
....
...
数据1
数据2
数据3
....
...
当我为每个on-parent标记使用时,在转换文件中,它只重复使用子2的第一次出现


我的要求是,它需要把所有的孩子两个元素的孩子一

从评论中可以肯定,您没有得到格式良好的输入XML。文档顶层不能有2个R3(根)元素。这可能是朝着正确的方向推进

您实际希望返回哪些数据,以及以何种格式返回

在地址中没有重复的组,这也会削弱你的能力

如果您有选择的话,我会将您的XML文档改造成更有用的东西,因为目前它几乎不可行

建议:

<?xml version="1.0" encoding="UTF-8"?>
<AddressBook owner="" date="">
    <Address>
        <addr firstName="" secondName="">
        </addr> 
        <addr firstName="" secondName="">
        </addr>
        <addr firstName="" secondName="">
        </addr>
    </Address>
    <Address>
        <addr firstName="" secondName="">
        </addr> 
        <addr firstName="" secondName="">
        </addr>
        <addr firstName="" secondName="">
        </addr>
    </Address>
</AddressBook>

这样,您就可以遍历命名相同的元素

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    <xsl:template match="/AddressBook">
        <xsl:for-each select="Address">
            <xsl:for-each select="addr">
                <xsl:value-of select="concat(@firstName, ', ', @secondName)"/>
            </xsl:for-each>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

或者,如果您需要添加地址行,请在addr元素中创建一个重复组,并给它们id进行排序,以确保它们是有序的


希望这为您指明了正确的方向。

您是否正在寻求有关XSL转换的帮助?到目前为止,您是否有任何代码,如果有,您会将其放在您的问题中吗?谢谢我现在没有代码,但这是源xml格式,当尝试在目标端检索每个使用的r3类型时,输出仅获取r3-->地址-->add1的第一个分辨率,而不是add2,3…OK。我怀疑,如果您开始使用XSL,那么人们将能够看到您的错误所在,并愿意提供建议。如果你想让别人帮你写,您可能会发现很难获得帮助。我的输入xml是liske this 20176039 SE3020170517

SEK肯定
  • 78 00 519
  • 50261126。。。。。。。。。。
  • 。。。