摘要
长期以来,如何将行数据转换成列数据一直是个很普遍的问题。
本文介绍用xsl转换XML的方法。XML的数据取自数据库的行数据,然后用XSL转换输出为列数据。
示例中,用GroupID元素表示为行数据,用TradeID表示转换后的列数据。
用xsl:key为每个GroupID生成唯一key。
变量1stGroupID为GroupID所有子树的入口。用得到列值。
每个GroupID都调用ShowTradesInGroup模板。
在ShowTradesInGroup模板中,循环得到GroupID的所有子树。
XML数据(数据库表中各行纪录):
<?xml version="1.0"?>
Rmity>
244133L
244133L_EUR_STUB
325866L
325866L_EUR_STUB
244133L
325867L_EUR_STUB1
502722L
502722L_EUR_STUB
244133L
325867L_EUR_STUB2
502722L
502722L_EUR_STUB1
502722L
502722L_EUR_STUB2
XSLT代码:
http://www.w3.org/1999/XSL/Transform">
select = "//RiskRow[generate-id(.)=generate-id(key('keyGroupID',GroupID)[1])]">
<!--用ShowTradesInGroupID模板找出指定GroupID的所有Trade-->
,
<!-- 在这里给出列的值 -->
结果输出为:
244133L, 244133L_EUR_STUB, 325867L_EUR_STUB1, 325867L_EUR_STUB2
325866L, 325866L_EUR_STUB
502722L, 502722L_EUR_STUB, 502722L_EUR_STUB1, 502722L_EUR_STUB2
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-992888/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752043/viewspace-992888/