现在有一个xml如下,想对xml中的item下节点进行过滤,item下面还有其他节点没有一一列出来,
过滤条件:
1 节点 a 的值只能是一个特定的值 例如 add
2 b节点的中的cid的值 只能是满足数据库里面的某个表中字段值 例如 test.A(cid)如果在java程序中实现:
1 可以取出a值判断 是否等于某个值
2 从数据库中取出CID的列表放到一个list,在判断节点中的cid是否在list中
如果用存储过程实现,把所有节点的都当一个参数传进去,这些判断都在存储过程实现,然后返回一个值优缺点:
1 程序实现简单,但是扩张性不强,假设我要加一个节点e 进行过滤,必须修改java代码,然后发布
2 存储过程避免了第一中情况的缺点,但是假设我 items下面有1w个item,必须要call 调用1 w次存储过程哪种实现方式好点????
<items>
<item>
<a>sss</a>
<b>
<cid>ass</cid>
<cid>ass1</cid>
</b>
<d>
<int>123</int>
<int>456</int>
.....
<d>
<e></e>
</item> <item>
<a>sss</a>
<b>
<cid>ass</cid>
<cid>ass1</cid>
</b>
<d>
<int>123</int>
<int>456</int>
.....
<d>
</item>......
过滤条件:
1 节点 a 的值只能是一个特定的值 例如 add
2 b节点的中的cid的值 只能是满足数据库里面的某个表中字段值 例如 test.A(cid)如果在java程序中实现:
1 可以取出a值判断 是否等于某个值
2 从数据库中取出CID的列表放到一个list,在判断节点中的cid是否在list中
如果用存储过程实现,把所有节点的都当一个参数传进去,这些判断都在存储过程实现,然后返回一个值优缺点:
1 程序实现简单,但是扩张性不强,假设我要加一个节点e 进行过滤,必须修改java代码,然后发布
2 存储过程避免了第一中情况的缺点,但是假设我 items下面有1w个item,必须要call 调用1 w次存储过程哪种实现方式好点????
<items>
<item>
<a>sss</a>
<b>
<cid>ass</cid>
<cid>ass1</cid>
</b>
<d>
<int>123</int>
<int>456</int>
.....
<d>
<e></e>
</item> <item>
<a>sss</a>
<b>
<cid>ass</cid>
<cid>ass1</cid>
</b>
<d>
<int>123</int>
<int>456</int>
.....
<d>
</item>......
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货