工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 开发工具 > Java > 正文
用Java实现基于XML的购物车
[文章信息]
作者:k98188
时间:2004-08-12
出处:csdn
责任编辑:方舟
[文章导读]
购物车是电子商务网站中不可缺少的组成部分,但目前大多数购物车只能作为一个顾客选中商品的展示
advertisement
热点推荐
· 禁止QQ登录的方法
· 给你的XML文件做个数字签名
· ImageReady制作“焰火”小动画
· Java加密和数字签名编程快速入门
· 在VB6中用命令行为模式控制GUI动作
[正文]

1 2 3  下一页

  购物车是电子商务网站中不可缺少的组成部分,但目前大多数购物车只能作为一个顾客选中商品的展示,客户端无法将购物车里的内容提取出来满足自己事务处理的需要,而这一点在有些电子商务活动中很有必要。XML的出现使得网络上传输的数据变得有意义起来,我们可以根据不同的要求以不同的样式将一个购物车的内容显示出来。

  本文将详细分析一个由Java实现的基于XML的购物车。下面是一个包含了五件商品的购物车的XML内在结构:它的根元素为cart,total元素表示购物车内的总金额,每个item元素表示一件商品,item里的子元素分别标明了该商品的具体信息,可根据实际情况添加、修改或删除。

  在这里,需要建立一个表示购物车的类:XMLCart.java,它是一个JavaBean,所以它包含了一个空的构造函数。这个类包含了购物车的一些基本功能: 生成一个空的购物车,往购物车里添加商品,删除购物车里的商品,改变购物车内商品的数量以及清空购物车等。它拥有一个全局私有变量“private XMLDocument myCart”,myCart用来存储购物车里的详细内容,购物车的基本功能就是对它的操作,它的类型是XMLDocument,即一个XML文档。这样,对购物车的操作就转换成对myCart中的子元素的添加、删除,及元素值的计算、修改等。

  1. 清空购物车

  清空购物车即生成一个空的购物车。这里空购物车是一个含有根元素cart及其元素total的XML文档,total元素是购物车的总金额,它的初始值为0,其XML具体形式如下:

< ?xml version=‘1.0’ encoding=‘gb2312’?>
< cart>
< total>0< /total>
< /cart>

  将这个XML字符串由parseString函数转换成XMLDocument存入myCart。

  其代码如下:

public void emptyCart() throws IOException,SAXException{
String stringCart=“< ?xml version=‘1.0’encoding=‘gb2312’?> ”+
“< cart>< total>0< /total>< /cart>”;
myCart=parseString(stringCart);
}

  2. 添加商品

  添加商品,即将传入的item元素添加到根元素cart里,其中item里包括商品详细信息,同时计算total的值。其代码如下:

public void addItemToCart(String stringItem)
throws IOException,SAXException{
 //将item由String转换为XMLDocument
 XMLDocument itemAdded=parseString(stringItem);
 //取出item节点,并复制它
 NodeList itemList=itemAdded.getElementsByTagName(“item”);
 Node item=itemList.item(0);
 Node cloneItem=item.cloneNode(true);
 //如果购物车为空,则构造一个新的购物车
 if(isCartEmpty()){
  myCart.emptyCart();
 }
 //如果该商品不在购物车中,则插入该商品,并计算总金额
 if(!isItemExist(item,myCart)){
  //取myCart的根元素,并将复制的item节点添加到后面
  Element cartRoot=myCart.getDocumentElement();
  Node cartNode=cartRoot.appendChild(cloneItem);
  computeTotal(); //计算总金额
 }
}


1 2 3  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • 体验J2SE 1.5新特性之装箱和拆箱
  • Java虚拟机类装载的原理及实现
  • 用Swing编写灵敏的图形用户界面
  • 体验J2SE 1.5新特性之增强For循环
  • 面向对象的思维方法
  • 民营家电商排队造手机 设备商全面杀入
  • 英特尔澄清杨旭任职传闻 官方没宣布此消息
  • 国资委河北密制联通拆分方案
  • 垃圾邮件害人害企害国 清除垃圾邮件不手软
  • 中兴携手阿尔卡特 全球逐鹿CDMA
  • 用友总裁王文京:誓将ERP变成“大众消费”
  • 香港消费者委员会:数码相机最贵未必最好
  • 外电称中兴正评估西门子手机业务 或能并购
  • Advertisement

    天极无线


    奇妙科幻|美好风光|清风车影|漫画卡通|星座生肖|明星写真|动物世界
    老鼠爱大米
    挥着翅膀的女孩
    女人味
    栀子花开
    白月光
    刚刚好
    江南
    快乐崇拜
    亲爱的你怎么不在我身边
    小薇
    2002年的第一场雪
    有多少爱可以重来
    我的地盘
    七里香
    情人
     
    老鼠爱大米 老板电话
    冲动的惩罚 七里香
    我不是黄蓉 女生撒娇
    盛夏的果实 坚持到底
    孤单北半球 眉飞色舞
    挪威的森林 可爱女人
    最浪漫的事 老板电话

    CSEEK搜索