网络编程
位置:首页>> 网络编程>> XML编程>> 基于XML语言的来实现购物车的详细代码(4)

基于XML语言的来实现购物车的详细代码(4)

 来源:互联网 发布时间:2008-05-29 13:57:00 

标签:

5. 计算总金额

即计算total的值,其中total=∑(price*quantity):

public void computeTotal(){
 NodeList quantityList=myCart.getElementsByTagName( “quantity”);
 NodeList priceList=myCart.getElementsByTagName( “price”);
 float total=0;
 //累加总金额
for(int x=0;x< priceList.getLength();x++){
 float quantity=Float.parseFloat(quantityList.item(x)
 .getFirstChild().getNodeValue());
  float price=Float.parseFloat(priceList.item(x).getFirstChild().getNodeValue());
 total=total+quantity*price;
 }
 //将total附给myCart的total
String totalString=String.valueOf(total);
 myCart.getElementsByTagName( &ldquo;total&rdquo;).
 item(0).getFirstChild().setNodeValue(totalString);
  }

 

6. 判断购物车是否为空

通常在添加新商品时,还需要知道购物车是否为空, 如果为空的话,则要生成一个新的购物车。

public boolean isCartEmpty(){
//item的节点集,如果该节点集包含的节点数为0,则购物车内没有商品,返回true
NodeList itemList=myCart.getElementsByTagName(&ldquo;item&rdquo;);
if(itemList.getLength()==0) return true;
else return false;
}


7. 判断所选商品是否已在购物车内

即判断新传来商品的item是否已在myCart中存在,如果存在,返回true。

public boolean isItemExist(Node item, XMLDocument cart){
  NodeList itemList=cart.getElementsByTagName( &ldquo;item&rdquo;);
  Node id=item.getFirstChild();
  String idValue=id.getFirstChild().getNodeValue();
  if(itemList.getLength()!=0){
  for(int x=0;x < itemList.getLength();x++){
  Node itemTemp = itemList.item(x);
  7Node idTemp=itemTemp.getFirstChild();
  String idTempValue=idTemp.getFirstChild().getNodeValue();
 if(idValue.equals(idTempValue)) return true;
 }
  return false;
 }
  return false;
 }

 

除上述方法外,XMLCart还包括将XML字符串由输入时的String转换成XMLDocument的方法parseString,以及用于输出时将XSL赋给myCart并返回String型XML字串的 cartTurnToStringWithXSL方法来辅助购物车主要操作的实现,这里不再赘述。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com