WEB开发网
开发学院数据库DB2 DB2 XML 编程,第 4 部分: 在基于 Web 的 DB2 应用... 阅读

DB2 XML 编程,第 4 部分: 在基于 Web 的 DB2 应用程序中集成来自不同数据源的数据

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 清单 11. 客户机解析来自应用服务器的 SOAP 响应soapxml=newxmlparse(xmlhttp.responseXML,false);soapxml.xmlRoot.setProperty("SelectionNamespaces","xmlns:x


清单 11. 客户机解析来自应用服务器的 SOAP 响应
soapxml= new xmlparse(xmlhttp.responseXML, false); 
soapxml.xmlRoot.setProperty("SelectionNamespaces", 
"xmlns:xsl='http://www.w3.org/1999/XSL/Transform' 
xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' 
xmlns:db='http://ibm.com/db2/soap'"); 
 
var hstr='<table cellSpacing="0" width="100%" cellPadding="2" border="1" align="left">'; 
hstr+="<tr><td>name<td>rate<td>rooms<td>"; 

将数据库结果中的每一行提取到另一个 DOM 树中,然后使用 XPath 提取相关信息。为客户机创建一个新视图,显示返回的所有旅馆的列表。注意,XPath 调用中使用了一个名称空间别名。


清单 12. 客户机从 SOAP 体中提取数据库结果集
soapxml.find("//SOAP-ENV:Body//db:row",null,true); 
for(i=0;soapxml.currentFind.length>i;i++) 
{ 
var result=soapxml.getValue("db:col/text()",i); 
rateslist=new xmlparse(result,true); 
rateslist.xmlRoot.setProperty("SelectionNamespaces", 
"xmlns:xsl='http://www.w3.org/1999/XSL/Transform' 
xmlns:x='http://www.opentravel.org/OTA/2003/05' "); 
 
 var id=rateslist.getValue("//x:HotelDescriptiveContents/@HotelCode",null); 
 var name=rateslist.getValue("//x:HotelName/@HotelShortName",null); 
 var rooms=rateslist.getValue("//x:GuestRoomInfo/@Quantity",null); 
 var charge=rateslist.getValue("//x:Charge/@Amount",null); 
 
hstr+="<tr><td>"+name+"<td>"+charge+"<td>"+rooms+"<td> 
<input type='button' onClick=\"javascript:bookRoom('"+id+"','"+charge+"'); 
 \" value='select'/>"; 
} 
document.getElementById("canvas").innerHTML=hstr; 

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

Tags:DB XML 编程

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