Xslt XSL中每个元素的多个子元素
我对XSL中的每个标记使用: 情景 输入xmlXslt XSL中每个元素的多个子元素,xslt,Xslt,我对XSL中的每个标记使用: 情景 输入xml <root> <parent> <Child 1> <Child2> data1 data2 data3 .... ... </child2> <Child2>
<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 SE3020170517SEK肯定