我是 XSLT 世界的新手,所以请多多包涵。我有一个具有以下结构的 Web 服务的 XML 输出:
<NotificationListResponse>
<MessageReceiver ID=15>
<Services>
<Service ID=40>
<...Other Tags Per Service ...>
</Service>
<Service ID=38>
<...Other Tags Per Service ...>
</Service>
</Services>
</MessageReceiver>
<MessageReceiver ID=18>
<Services>
<Service ID=40>
<...Other Tags Per Service ...>
</Service>
<Service ID=38>
<...Other Tags Per Service ...>
</Service>
</Services>
</MessageReceiver>
</NotificationListResponse>
我想把它变成这样的东西:
<NotificationListResponse>
<Services>
<Service ID=40>
<Receivers>
<MessageReceiver ID=15>
<...Other Tags Per Service ...>
</MessageReceiver>
<MessageReceiver ID=18>
<...Other Tags Per Service ...>
</MessageReceiver>
</Receivers>
</Service>
<Service ID=38>
<Receivers>
<MessageReceiver ID=15>
<...Other Tags Per Service ...>
</MessageReceiver>
<MessageReceiver ID=18>
<...Other Tags Per Service ...>
</MessageReceiver>
</Receivers>
</Service>
</Services>
</NotificationListResponse>
我希望这足够清楚。我想做的是按服务进行分割,在Web服务响应中,主要分割是由接收方。
这甚至可以在 XSLT 中完成,而无需将 XML 反序列化为对象并在代码中进行转换吗?如果相关的话,我们的主要编程语言是 C#。