WEB开发网
开发学院数据库DB2 DB2 XML 编程,第 3 部分: 客户机中的 XML 编程 阅读

DB2 XML 编程,第 3 部分: 客户机中的 XML 编程

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 注意:在 第 2 部分 中的 “一个更精细的示例” 一节中,定义了保险费率 XML,DB2 XML 编程,第 3 部分: 客户机中的 XML 编程(8), 再次从消息中提取出客户 ID,并用它在数据库中查询这位客户购买的商品的相关信息, Stringcid=dataxml

注意:在 第 2 部分 中的 “一个更精细的示例” 一节中,定义了保险费率 XML。

再次从消息中提取出客户 ID,并用它在数据库中查询这位客户购买的商品的相关信息。

String cid= dataxml.getValue("/data/@customerid"); 

创建购买的商品列表的业务逻辑可以以两种方式之一实现:

调用 第 2 部分的清单 6 中创建的数据库存储过程。
// returnvalue = call customerItemsWithInsurance (cid, insurancestr); 

使用第一篇文章中的代码在应用服务器中编写逻辑。使用 第 1 部分的清单 6 中的 customerXML,循环遍历每个商品、计算保险费并添加到商品信息中。

用以下代码替换原来代码中的 9-11 行:



清单 11. 替换 9-11 行的代码
             XMLParse insurancexml=new XMLParse(insurancestr); 
customerXML.find("/Customer/Items/item",true); 
String currency= insurancexml.getValue("//rate/@currency"); 
 
for(int i=0; customerXML.currentFind.getLength()>i;i++) 
{ 
price = customerXML.getValue("@price",i)); 
if(price>500) rate= insurancexml.getValue("//rate[@price=""]/@rate")); 
else If(price>100) rate= insurancexml.getValue("//rate[@price="500"]/@rate")); 
else rate= insurancexml.getValue("//rate[@price="100"]/@rate")); 
String iteminsurance="<insurance currency="+currency+ ">"+price*rate+"</insurance>" 
customerXML. appendElement(customerXML.createNode (iteminsurance), 
customerXML.getNode (null,i), false ) 
} 
// returnvalue = customerXML.toString(); 

上一页  3 4 5 6 7 8 9 10  下一页

Tags:DB XML 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接