我有一个样本Xml,如下所示。这有两个名为“Param”和“Dimension”的根元素。与两组节点的区别 - XSLT
Param元素也有一个名为“Dimension”的子节点,它包含一些名为“Member”的元素。这有两个属性id和名称。
<Root>
<Param>
<Pattern id="P1" name="Pattern1">
<Dimension name="Dim1">
<Member id= "1" name="Member1" />
<Member id= "4" name="Member4" />
<Member id= "5" name="Member5" />
<Member id= "6" name="Member6" />
<Member id= "7" name="Member7" />
<Member id= "9" name="Member9" />
<Member id= "10" name="Member10" />
<Member id= "11" name="Member11" />
<Member id= "12" name="Member12" />
<Member id= "13" name="Member13" />
<Member id= "16" name="Member16" />
<Member id= "17" name="Member17" />
<Member id= "18" name="Member18" />
<Member id= "19" name="Member19" />
</Dimension>
</Pattern>
<Pattern id="P2" name="Pattern2">
<Dimension name="Dim1">
<Member id= "1" name="Member1" />
<Member id= "2" name="Member2" />
<Member id= "3" name="Member3" />
<Member id= "4" name="Member4" />
<Member id= "5" name="Member5" />
<Member id= "6" name="Member6" />
<Member id= "8" name="Member8" />
<Member id= "11" name="Member11" />
<Member id= "12" name="Member12" />
<Member id= "13" name="Member13" />
<Member id= "14" name="Member14" />
<Member id= "15" name="Member15" />
<Member id= "16" name="Member16" />
<Member id= "17" name="Member17" />
</Dimension>
</Pattern>
</Param>
<Dimension name="Dim1">
<Member id= "1" name="Member1" >
<Member id= "2" name="Member2" >
<Member id= "3" name="Member3" />
<Member id= "4" name="Member4" />
<Member id= "5" name="Member5" />
<Member id= "6" name="Member6" />
<Member id= "7" name="Member7" />
</Member>
<Member id= "8" name="Member8" >
<Member id= "9" name="Member9" />
<Member id= "10" name="Member10" />
<Member id= "11" name="Member11" />
</Member>
<Member id= "12" name="Member12" >
<Member id= "13" name="Member13" />
<Member id= "14" name="Member14" />
<Member id= "15" name="Member15" />
<Member id= "16" name="Member16" />
<Member id= "17" name="Member17" />
<Member id= "18" name="Member18" />
<Member id= "19" name="Member19" />
<Member id= "20" name="Member20" />
</Member>
</Member>
</Dimension>
</Root>
来自Pattern/Dimension/Member的成员必须与根Dimension元素进行比较,并且在输出中需要像下面那样的区别。
<Root>
<Pattern id="P1" name="Pattern1">
<Dimension name="Dim1">
<Member id= "2" name="Member2" />
<Member id= "3" name="Member3" />
<Member id= "8" name="Member8" />
<Member id= "14" name="Member14" />
<Member id= "15" name="Member15" />
<Member id= "20" name="Member20" />
</Dimension>
</Pattern>
<Pattern id="P2" name="Pattern2">
<Dimension name="Dim1">
<Member id= "7" name="Member7" />
<Member id= "9" name="Member9" />
<Member id= "10" name="Member10" />
<Member id= "18" name="Member18" />
<Member id= "19" name="Member19" />
<Member id= "20" name="Member20" />
</Dimension>
</Pattern>
</Root>
用于型式1,
相比/根/尺寸//成员,下面的区别在样品例如发现
Member2 Member3 Member8 Member14 Member15 部件20
相同不同模式的逻辑。是否可以通过XSLT 1.0来实现?任何人都可以帮助这一点。
在此先感谢。
感谢蒂姆,它的工作。再次感谢大家 –
嗨添,从上面的一个更多的帮助。你能解释我如何从上面的答案只获得父节点。就像在输出中一样,需要跳过成员3,因为它是成员2'代码'的子成员 'code' –
这可能是最好的,你问一个全新的单独的问题,因为它很难在评论中阅读代码。谢谢 –