我正在尝试将线性XML结构转换为父子结构。 线程XML结构是:
<?xml version='1.0' encoding='UTF-8'?>
<MESSAGE>
<ORDER>
<NAME>HEADER</NAME>
<ORDER_NO>100</ORDER_NO>
<ADDRESS>Posted</ADDRESS>
</ORDER>
<ORDER>
<NAME>DETAIL</NAME>
<LINE_NO>1</LINE_NO>
<QTY>1</QTY>
</ORDER>
<ORDER>
<NAME>DETAIL</NAME>
<QTY>1</QTY>
<LINE_NO>2</LINE_NO>
</ORDER>
<ORDER>
<NAME>DETAIL</NAME>
<QTY>2</QTY>
<LINE_NO>3</LINE_NO>
</ORDER>
<ORDER>
<NAME>HEADER</NAME>
<ORDER_NO>200</ORDER_NO>
<ADDRESS>Posted</ADDRESS>
</ORDER>
<ORDER>
<NAME>DETAIL</NAME>
<QTY>3</QTY>
<LINE_NO>1</LINE_NO>
</ORDER>
<ORDER>
<NAME>DETAIL</NAME>
<LINE_NO>1</LINE_NO>
<QTY>3</QTY>
</ORDER>
</MESSAGE>
每个节点都有一个项目,用于区分节点是标题或详细信息。例如,具有NAME = DETAIL的元素是详细信息节点,NAME = HEADER被视为标题。
输出xml应该看起来像
<?xml version='1.0' encoding='UTF-8'?>
<MESSAGE>
<ORDER>
<NAME>HEADER</NAME>
<ORDER_NO>100</ORDER_NO>
<ADDRESS>Posted</ADDRESS>
<ORDER_LINE>
<NAME>DETAIL</NAME>
<LINE_NO>1</LINE_NO>
<QTY>1</QTY>
</ORDER_LINE>
<ORDER_LINE>
<NAME>DETAIL</NAME>
<QTY>1</QTY>
<LINE_NO>2</LINE_NO>
</ORDER_LINE>
<ORDER_LINE>
<NAME>DETAIL</NAME>
<QTY>2</QTY>
<LINE_NO>3</LINE_NO>
</ORDER_LINE>
</ORDER>
<ORDER>
<NAME>HEADER</NAME>
<ORDER_NO>200</ORDER_NO>
<ADDRESS>Posted</ADDRESS>
<ORDER_LINE>
<NAME>DETAIL</NAME>
<QTY>3</QTY>
<LINE_NO>1</LINE_NO>
</ORDER_LINE>
<ORDER_LINE>
<NAME>DETAIL</NAME>
<LINE_NO>1</LINE_NO>
<QTY>3</QTY>
</ORDER_LINE>
</ORDER>
</MESSAGE>
任何人都可以帮助我使用XSLT 1.0进行转换吗?