基于xml的购物车的实现

基于xml的购物车的实现

ID:9710588

大小:69.50 KB

页数:9页

时间:2018-05-05

基于xml的购物车的实现_第1页
基于xml的购物车的实现_第2页
基于xml的购物车的实现_第3页
基于xml的购物车的实现_第4页
基于xml的购物车的实现_第5页
资源描述:

《基于xml的购物车的实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、基于XML的购物车的实现>>教育资源库购物车是电子商务网站中不可缺少的组成部分,但目前大多数购物车只能作为一个顾客选中商品的展示,客户端无法将购物车里的内容提取出来满足自己事务处理的需要,而这一点在有些电子商务活动中很有必要。XML的出现使得网络上传输的数据变得有意义起来,我们可以根据不同的要求以不同的样式将一个购物车的内容显示出来。本文将详细分析一个由Java实现的基于XML的购物车。下面是一个包含了五件商品的购物车的XML内在结构:它的根元素为cart,total元素表示购物车内的总金额,每个item元素表示一件商品,item里的子

2、元素分别标明了该商品的具体信息,可根据实际情况添加、修改或删除。在这里,需要建立一个表示购物车的类:XMLCart.java,它是一个JavaBean,所以它包含了一个空的构造函数。这个类包含了购物车的一些基本功能:生成一个空的购物车,往购物车里添加商品,删除购物车里的商品,改变购物车内商品的数量以及清空购物车等。它拥有一个全局私有变量“privateXMLDocumentmyCart”,myCart用来存储购物车里的详细内容,购物车的基本功能就是对它的操作,它的类型是XMLDocument,即一个XML文档。这样,对购物车的操作就转换

3、成对myCart中的子元素的添加、删除,及元素值的计算、修改等。1.清空购物车清空购物车即生成一个空的购物车。这里空购物车是一个含有根元素cart及其元素total的XML文档,total元素是购物车的总金额,它的初始值为0,其XML具体形式如下:<?xmlversion=‘1.0’encoding=‘gb2312’?><cart><total>0</total></cart>将这个XML字符串由parseString函数转换成XMLDocument存入myCart。其代码如下

4、:publicvoidemptyCart()throlversion=‘1.0’encoding=‘gb2312’?>”+“<cart><total>0</total></cart>”;myCart=parseString(stringCart);}2.添加商品添加商品,即将传入的item元素添加到根元素cart里,其中item里包括商品详细信息,同时计算total的值。其代码如下:publicvoidaddItemToCart(StringstringItem)thro由Strin

5、g转换为XMLDocumentXMLDocumentitemAdded=parseString(stringItem);//取出item节点,并复制它NodeListitemList=itemAdded.getElementsByTagName(“item”);Nodeitem=itemList.item(0);NodecloneItem=item.cloneNode(true);//如果购物车为空,则构造一个新的购物车if(isCartEmpty()){myCart.emptyCart();}//如果该商品不在购物车中,则插入该商品,

6、并计算总金额if(!isItemExist(item,myCart)){//取myCart的根元素,并将复制的item节点添加到后面ElementcartRoot=myCart.getDocumentElement();NodecartNode=cartRoot.appendChild(cloneItem);puteTotal();//计算总金额}}3.删除商品删除商品,即根据商品代码将该商品的item元素从myCart的根元素cart中删除,并重新计算total的值:publicvoidmoveItemFromCart(Stringi

7、d){//取出以item为单位的节点集cartList以及根元素cartRootNodeListcartList=myCart.getElementsByTagName(“item”);ElementcartRoot=myCart.getDocumentElement();//在cartList中查找代码为选中id的商品for(intx=0;x<cartList.getLength();x++){NodeitemNode=cartList.item(x);StringidValue=itemNode.getFirstChild()

8、.getFirstChild().getNodeValue();//如果找到,则从cartRoot中删除该节点,并跳出循环if(idValue.equals(id)){itemNode=cartRoot.r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。