高分求一个xsl的写法

chnking888 2016-07-21 09:38:12
有一个源xml数据,格式如下:
<Root>
<ODH>
<Plant>Production Plant</Plant>
<Sloc>Storage location</Sloc>
<PO_Number>Purchase Order number</PO_Number>
<Order_Date>PO date</Order_Date>
</ODH>
<ODL>
<PO_Line>PO line</PO_Line>
<Material>Material number</Material>
<Ordered_Qty>Ordered quantity</Ordered_Qty>
<Delivery_Date>Delivery date</Delivery_Date>
</ODL>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
<ODL>
<PO_Line>PO line</PO_Line>
<Material>Material number</Material>
<Ordered_Qty>Ordered quantity</Ordered_Qty>
<Delivery_Date>Delivery date</Delivery_Date>
</ODL>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
<ODH>
<Plant>Production Plant</Plant>
<Sloc>Storage location</Sloc>
<PO_Number>Purchase Order number</PO_Number>
<Order_Date>PO date</Order_Date>
</ODH>
<ODL>
<PO_Line>PO line</PO_Line>
<Material>Material number</Material>
<Ordered_Qty>Ordered quantity</Ordered_Qty>
<Delivery_Date>Delivery date</Delivery_Date>
</ODL>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
</Root>

是订单数据,一个文件里可以有多个订单。xml数据有三种并列的节点,分别是ODH表示订单的头,ODH表示订单下的订单行,ODC表示订单的行下面的组件。数据表现为同级别的节点,但是根据顺序是有层次归属关系的,即一个ODH下面的所有ODL都是这个订单下的订单行,直到下一个ODH出现为止。一个ODL下的所有ODC都是这个订单行下的组件,直到下一个ODL或ODH出现。
现求一个XSL把这样的源xml数据转换成具有层次结构的xml数据,如下:
<Root>
<ODH>
<Plant>Production Plant</Plant>
<Sloc>Storage location</Sloc>
<PO_Number>Purchase Order number</PO_Number>
<Order_Date>PO date</Order_Date>
<ODL>
<PO_Line>PO line</PO_Line>
<Material>Material number</Material>
<Ordered_Qty>Ordered quantity</Ordered_Qty>
<Delivery_Date>Delivery date</Delivery_Date>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
</ODL>
</ODH>
<ODH>
<Plant>Production Plant</Plant>
<Sloc>Storage location</Sloc>
<PO_Number>Purchase Order number</PO_Number>
<Order_Date>PO date</Order_Date>
<ODL>
<PO_Line>PO line</PO_Line>
<Material>Material number</Material>
<Ordered_Qty>Ordered quantity</Ordered_Qty>
<Delivery_Date>Delivery date</Delivery_Date>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
<ODC>
<PO_Line>PO line</PO_Line>
<Seq_Num>Sequence number</Seq_Num>
<Component>Component number</Component>
<Req_Qty>Total component required quantity</Req_Qty>
</ODC>
</ODL>
</ODH>
</Root>
...全文
137 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
chnking888 2016-07-25
  • 打赏
  • 举报
回复
自己顶一把吧。。。。。

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧