<Request xmlns:ns0="http://Request">
<Lines>
<Line>
<requestid>76</requestid>
<Code>C001</Code>
</Line>
<Line>
<requestid>77</requestid>
<Code>C002</Code>
</Line>
</Lines>
<Conflict>
<responseid>76</responseid>
<responsecode>WB</responsecode>
<cService>
<responseid>73</responseid>
<responsecode>HA</responsecode>
</cService>
<cService>
<responseid>7600</responseid>
<serviceCode>PP</serviceCode>
</cService>
</Conflict>
<Conflict>
<responseid>77</responseid>
<responsecode>WB7</responsecode>
<cService>
<responseid>745</responseid>
<responsecode>HAQ</responsecode>
</cService>
<cService>
<responseid>7234</responseid>
<serviceCode>PP</serviceCode>
</cService>
</Conflict>
<Conflict>
<responseid>77</responseid>
<responsecode>WBC</responsecode>
<cService>
<responseid>72341</responseid>
<responsecode>HAC</responsecode>
</cService>
<cService>
<responseid>98</responseid>
<responsecode>PPC</responsecode>
</cService>
</Conflict>
</Request>
和所需的输出应如下所示。XSLT中的条件筛选和嵌套循环
<Output xmlns:ns0="http://Response">
<Lines>
<Line>
<responseid>76</responseid>
<code>WB</code>
<Features>
<ExistingFeature>
<responseid>76</responseid>
<CFeature>
<responseid>76</responseid>
</CFeature>
<CFeature>
<responseid>76</responseid>
</CFeature>
</ExistingFeature>
</Features>
</Line>
<Line>
<Num>77</Num>
<Features>
<ExistingFeature>
<responseid>77</responseid>
<code>WB7</code>
<CFeature>
<responseid>77</responseid>
</CFeature>
<CFeature>
<responseid>77</responseid>
</CFeature>
<CFeature>
<responseid>77</responseid>
</CFeature>
<CFeature>
<responseid>77</responseid>
</CFeature>
</ExistingFeature>
</Features>
</Line>
</Lines>
</Output>
所以,你可以帮助我在XSLT中实现这一点。 因为我尝试了多种方式,但无法使用,因为我在xslt中很穷。
情景。 实际上,应该为输入中的每一行创建一行,并且基于requestID(即76或77),输入中的每一行都有一个或多个冲突。 所以我必须根据输入中单个节点中的这些ID对输入中的每一行发生的冲突进行分组,以及输入中所有相应的匹配冲突。
所以你可以帮我写这个场景的xslt。
这是可能做到的,但您提供了对需求的非常少的描述。例如,为什么第一个结果('Line')具有完全不同的结构('responsed'和'code),第二个'Lne'没有?????????? –
你曾在xslt中尝试过 – vels4j
是的。行中的RequestID和冲突节点中的ResponseID相同。所以我们必须比较Request和RepsonseID。因此在Conflict节点中可能存在一个或多个Cservice节点。但是我们不需要考虑CService节点中的ResponseID。我的意思是CService节点中的ResponseID必须根据Line(Request)和ResponseID(Request中的)RequestID在输出中的相应Line节点中填充它。 – vsbabu