韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

基于XML的購(gòu)物車的完成

基于XML的購(gòu)物車的完成

更新時(shí)間:2020-12-25 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

購(gòu)物車是電子商務(wù)網(wǎng)站中不可缺少的組成部分,但目前大多數(shù)購(gòu)物車只能作為一個(gè)顧客選中商品的展示,客戶端無(wú)法將購(gòu)物車?yán)锏膬?nèi)容提取出來(lái)滿足自己事務(wù)處理的需要,而這一點(diǎn)在有些電子商務(wù)活動(dòng)中很有必要。XML的出現(xiàn)使得網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)變得有意義起來(lái),我們可以根據(jù)不同的要求以不同的樣式將一個(gè)購(gòu)物車的內(nèi)容顯示出來(lái)。

本文將詳細(xì)分析一個(gè)由Java實(shí)現(xiàn)的基于XML的購(gòu)物車。下面是一個(gè)包含了五件商品的購(gòu)物車的XML內(nèi)在結(jié)構(gòu):它的根元素為cart,total元素表示購(gòu)物車內(nèi)的總金額,每個(gè)item元素表示一件商品,item里的子元素分別標(biāo)明了該商品的具體信息,可根據(jù)實(shí)際情況添加、修改或刪除。

在這里,需要建立一個(gè)表示購(gòu)物車的類:XMLCart.java,它是一個(gè)JavaBean,所以它包含了一個(gè)空的構(gòu)造函數(shù)。這個(gè)類包含了購(gòu)物車的一些基本功能: 生成一個(gè)空的購(gòu)物車,往購(gòu)物車?yán)锾砑由唐,刪除購(gòu)物車?yán)锏纳唐,改變?gòu)物車內(nèi)商品的數(shù)量以及清空購(gòu)物車等。它擁有一個(gè)全局私有變量“private XMLDocument myCart”,myCart用來(lái)存儲(chǔ)購(gòu)物車?yán)锏脑敿?xì)內(nèi)容,購(gòu)物車的基本功能就是對(duì)它的操作,它的類型是XMLDocument,即一個(gè)XML文檔。這樣,對(duì)購(gòu)物車的操作就轉(zhuǎn)換成對(duì)myCart中的子元素的添加、刪除,及元素值的計(jì)算、修改等。

1. 清空購(gòu)物車

清空購(gòu)物車即生成一個(gè)空的購(gòu)物車。這里空購(gòu)物車是一個(gè)含有根元素cart及其元素total的XML文檔,total元素是購(gòu)物車的總金額,它的初始值為0,其XML具體形式如下:

< ?xml version=‘1.0’ encoding=‘gb2312’?>
< cart>
< total>0< /total>
< /cart>
將這個(gè)XML字符串由parseString函數(shù)轉(zhuǎn)換成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里包括商品詳細(xì)信息,
同時(shí)計(jì)算total的值。其代碼如下:
public void addItemToCart(String stringItem)
throws IOException,SAXException{
//將item由String轉(zhuǎn)換為XMLDocument
XMLDocument itemAdded=parseString(stringItem);
//取出item節(jié)點(diǎn),并復(fù)制它
NodeList itemList=itemAdded.getElementsByTagName(“item”);
Node item=itemList.item(0);
Node cloneItem=item.cloneNode(true);
//如果購(gòu)物車為空,則構(gòu)造一個(gè)新的購(gòu)物車
if(isCartEmpty()){
     myCart.emptyCart();
}
//如果該商品不在購(gòu)物車中,則插入該商品,并計(jì)算總金額
if(!isItemExist(item,myCart)){
//取myCart的根元素,并將復(fù)制的item節(jié)點(diǎn)添加到后面
Element cartRoot=myCart.getDocumentElement();
Node cartNode=cartRoot.appendChild(cloneItem);       
computeTotal();    //計(jì)算總金額
        }
    }
3. 刪除商品
刪除商品,即根據(jù)商品代碼將該商品的item元素
從myCart的根元素cart中刪除,
并重新計(jì)算total的值:
public void moveItemFromCart(String id){
//取出以item為單位的節(jié)點(diǎn)集cartList以及根元素cartRoot
  NodeList cartList=myCart.getElementsByTagName(“item”);
     Element cartRoot=myCart.getDocumentElement();
      //在cartList中查找代碼為選中id的商品
    for(int x=0;x< cartList.getLength();x++){
      Node itemNode=cartList.item(x);
      String  idValue=itemNode.getFirstChild().
      getFirstChild().getNodeValue();
      //如果找到,則從cartRoot中刪除該節(jié)點(diǎn),并跳出循環(huán)
if(idValue.equals(id)){
      itemNode=cartRoot.removeChild(itemNode);
       break;
            }
        }
        computeTotal();    //計(jì)算總金額
    }
4. 改變商品數(shù)量
根據(jù)客戶在頁(yè)面上所填的數(shù)量,修改myCart中quantity,
并重新計(jì)算total:
public void addQuantityToCart(String qnty) throws
IOException,SAXException{
    //將傳過(guò)來(lái)的包含商品數(shù)量的一組XML字符串轉(zhuǎn)換為XML文檔
XMLDocument quantityChanged=parseString(qnty);
//取出包含新數(shù)量的quantity節(jié)點(diǎn)集和myCart中的quantity節(jié)點(diǎn)集
NodeList quantityList=quantityChanged.getElementsByTagName(“quantity”);
NodeList cartList=myCart.getElementsByTagName(“quantity”);
//循環(huán)改變商品的數(shù)量
for(int x=0;x< cartList.getLength();x++){
//將新quantity的值賦給myCart中相應(yīng)的quantity中去
String quantity=quantityList.item(x).getFirstChild().getNodeValue();
cartList.item(x).getFirstChild().setNodeValue(quantity);
}
computeTotal();    //計(jì)算總金額
    }
5. 計(jì)算總金額
即計(jì)算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(“total”).
    item(0).getFirstChild().setNodeValue(totalString);
  }
6. 判斷購(gòu)物車是否為空
通常在添加新商品時(shí),還需要知道購(gòu)物車是否為空,
如果為空的話,則要生成一個(gè)新的購(gòu)物車。
public boolean isCartEmpty(){
//item的節(jié)點(diǎn)集,如果該節(jié)點(diǎn)集包含的節(jié)點(diǎn)數(shù)為0,則購(gòu)物車內(nèi)沒(méi)有商品,返回true
NodeList itemList=myCart.getElementsByTagName(“item”);
if(itemList.getLength()==0) return true;
else return false;
}
7. 判斷所選商品是否已在購(gòu)物車內(nèi)
即判斷新傳來(lái)商品的item是否已在myCart中存在,如果存在,返回true。
public boolean isItemExist(Node item, XMLDocument cart){
  NodeList itemList=cart.getElementsByTagName(“item”);
      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字符串由輸入時(shí)的String轉(zhuǎn)換成XMLDocument的方法parseString,以及用于輸出時(shí)將XSL賦給myCart并返回String型XML字串的 cartTurnToStringWithXSL方法來(lái)輔助購(gòu)物車主要操作的實(shí)現(xiàn),這里不再贅述。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
国产精品午夜一区二区| 国产成人精品av在线观| 久久精品最新地址| 99久久婷婷这里只有精品| 亚洲成**性毛茸茸| 最新黄色av网址| 欧美区日韩区| 一级毛片视频在线观看| 探花视频在线观看| 成人免费视频一区| 女优一区二区三区| 视频一区二区精品的福利| 日韩wuma| 欧亚精品一区| 国产91在线观看丝袜| 18被视频免费观看视频| 欧美乱熟臀69xxxxxx| 精品国产伦一区二区三区| 久久久久久久久久国产| 国产性色一区二区| 三级福利视频| 中文字幕+乱码+中文字幕明步| 色综合久久中文字幕综合网| 亚洲线精品一区二区三区八戒| 久久久777| 依依综合在线| 六月婷婷久久| 欧美精品一区二区三区四区| 成人午夜精品视频| 黄色软件视频在线观看| 激情av中文字幕| 久久人人爽人人爽人人片亚洲| 亚洲欧美日韩国产综合| 国产精品一色哟哟哟| 91在线观看免费网站| 小黄文在线观看| 亚洲视频一区二区| 午夜免费福利网站| 久草在在线视频| 欧洲一区二区av| 亚洲 日本 欧美 中文幕| 丰满熟女人妻一区二区三| 日本xxxxxxx免费视频| 免费不卡中文字幕在线| 女女百合国产免费网站| 桃乃木香奈和黑人aⅴ在线播放| 香蕉视频免费在线播放| 成人18免费| 亚洲永久精品唐人导航网址| 国产福利一区二区三区在线视频| 国产精品毛片aⅴ一区二区三区| 国产亚洲午夜| 欧美一级专区免费大片| 手机成人av在线| 精精国产xxx在线视频app| 欧美一区二区三区久久| 69堂免费视频| 欧美成aaa人片在线观看蜜臀| 久久影院中文字幕| 成人免费激情视频| 国产精品人人做人人爽| 欧美日韩国产黄色| 国产精品一二区| 欧美美乳在线| 欧美日产国产精品| 91精品国产综合久久久久久漫画| 91精品国产福利在线观看| 久久久久久久中文字幕| 亚洲男同1069视频| 99国产牛牛视频在线网站| 国产免费裸体视频| 欧美成人精品福利在线视频| 在线看免费av| 欧美国产一区二区三区激情无套| 可以免费看污视频的网站| 91精品国产乱码久久久久久久久| 国产精品女主播av| 懂色aⅴ精品一区二区三区| 久久人人爽爽人人爽人人片av| 欧美激情一二区| 成人在线免费看黄| 亚洲国产欧美日韩另类综合| 米仓穗香在线观看| 亚洲精品乱码久久久久久动漫| 欧美xxxhd| 91在线免费播放| 欧美在线观看视频一区二区三区| 天天插天天操天天射| 三级视频网站在线| 免费电影一区二区三区| 国产高清自拍视频| 国内国产精品天干天干| 亚洲一区二区三区精品中文字幕| 竹内纱里奈兽皇系列在线观看| 在线亚洲+欧美+日本专区| 久久久亚洲综合网站| 精品全国在线一区二区| 日韩欧美第一区| 国产视频九色蝌蚪| 制服丝袜在线91| 国产精品毛片一区二区三区| 欧美视频观看一区| 成人欧美精品久久久久影院| 国产精品一区二区女厕厕| 欧美人成在线视频| 国产高清自产拍av在线| 97se亚洲国产综合自在线| 精品欧美久久久| 国产精品jizz在线观看美国| 美女网站在线看| 精品中文字幕乱| 91精品国产色综合久久不卡98| 四虎影视最新网址| 亚洲影院在线看| 激情五月深爱五月| 亚洲一区二区在| 亚洲男男gay视频| 51精品久久久久久久蜜臀| jizz在线观看中文| 青娱乐在线免费视频| www国产91| 1069视频| 国产小视频你懂的| 一区二区视频在线免费观看| 欧美va亚洲va香蕉在线| 日韩激情视频在线观看| 成人bbav| 婷婷激情5月天| 免费在线观看视频| 专区另类欧美日韩| 国色天香一区二区| 国产成人一区二区三区小说| 日本一区二区网站| 91精品国产91久久久久久三级| 欧美日本高清视频在线观看| 嫩草视频免费在线观看| 97伦理在线四区| 国产成人免费网站| 日韩精品不卡| 在线精品亚洲| 精品人妻一区二区三区蜜桃| www.com久久久| 欧美国产视频一区| 精精国产xxxx视频在线播放| 偷拍盗摄高潮叫床对白清晰| 最近高清中文在线字幕在线观看| 夜夜嗨av一区二区三区中文字幕| 亚洲日本aⅴ片在线观看香蕉| 天堂在线第六区| 久久艹国产精品| 最猛黑人系列在线播放| 正在播放久久| 欧美中文字幕久久| 成人在线小视频| **孕交吃奶水一级毛片| av免费网站在线观看| 性国裸体高清亚洲| 欧美精品一区二区三区中文字幕| 中文字幕日韩视频| 成人在线视频免费看| 免费观看黄色av| 中文字幕丰满孑伦无码专区| 亚洲美女视频网站| 先锋影音网一区| h网站免费观看| 国产日韩三级| 69精品无码成人久久久久久| 国产中文字幕视频在线观看| 国产又大又黄视频| 毛片久久久久久| 亚洲激情视频在线观看| 欧美v亚洲v综合v国产v仙踪林| 色综合电影网| 日韩欧美一区二区三区久久| 日韩欧美国产综合一区| 欧美高跟鞋交xxxxhd| 亚洲在线资源| 亚洲一区美女视频在线观看免费| 亚洲高清av在线| 国产精品传媒精东影业在线| 在线播放黄网| 超碰成人在线免费观看| 性欧美视频videos6一9| 亚洲成av人**亚洲成av**| 亚洲欧美成aⅴ人在线观看| 嫩草研究院在线| 亚洲欧美在线人成swag| 国产福利一区在线观看| 日本一级黄色录像| 激情在线视频| 毛片视频免费观看| 超碰国产一区| 国产精品热视频| 在线 丝袜 欧美 日韩 制服| 91涩漫在线观看| 国产亚洲欧美在线| 日韩精品乱码av一区二区| 国产探花一区二区| 中文在线中文资源| 亚洲国产精品推荐| 成人精品视频99在线观看免费| 91在线看www| 亚洲成av人片一区二区三区| 欧美凹凸一区二区三区视频| 九热视频在线观看| 忘忧草在线影院两性视频| 国产精品永久免费在线| 免费在线午夜视频| 性の欲びの女javhd| 欧美在线亚洲综合一区| 国产福利第一视频在线播放| 欧美电视剧在线看免费| 青青青在线观看视频| 亚洲日韩第一页| 免费人成a大片在线观看动漫| 日韩美女视频一区二区| 久久久久久激情| 免费在线不卡av| 中文字幕在线不卡一区| 免费av片风间由美在线| 瑟瑟视频在线免费观看| 91精品国产乱码久久蜜臀| 水莓100国产免费av在线播放| 在线亚洲欧美视频| 成年人在线视频| 9191国语精品高清在线| 午夜免费一区二区| 天天人人精品| 日本成人手机在线| 国产视频第一页在线观看| 亚洲第一福利网| jizz国产视频| 中文字幕另类日韩欧美亚洲嫩草| 日韩免费视频线观看| 欧美午夜精品久久久久免费视| 成人精品影视| 中文字幕精品网| 蜜桃av一区| 欧美午夜精品久久久久免费视| jizzzz日本| 日韩国产欧美在线观看| 成人免费视频一区| 中文字字幕在线中文| 人偷久久久久久久偷女厕| 国产精品久久久久久久美男| 国语对白在线视频| 日产乱码一卡二卡三免费| 日韩av一卡二卡三卡| 欧美久久综合| 91sao在线观看国产| 噼里啪啦在线中文观看| 91成人超碰| 69av成年福利视频| 国产三区视频在线观看| 亚洲一区和二区| 国产精品乱码久久久久| 国产大学生粉嫩无套流白浆| 久久96国产精品久久99软件| 欧美一级免费在线观看| 欧美日韩一区二区三区高清| 午夜视频1000| 国产精品无码久久av| 欧美www在线| av在线二区| 日韩av图片| 国产高清视频在线| 伊人久久大香伊蕉在人线观看热v| 毛片免费在线| 欧美18一19xxx性| 成人91免费视频| 天海翼女教师无删减版电影| 精品一区二区视频| 蝌蚪91视频| 小舞被吸乳羞羞网站视频| 亚洲a在线播放| 天堂资源在线播放| 欧美午夜精品久久久久久浪潮| 亚洲日本高清| 国产乱女淫av麻豆国产| 日本免费一区二区六区| 视频在线不卡免费观看| 日韩精品亚洲一区二区三区免费| 中文字幕一区二区三区四区五区人| 99草在线视频| 高清欧美电影在线| 动漫黄在线观看| 国产亚洲色婷婷久久| 午夜剧场成人观在线视频免费观看| 国产污视频网站| 婷婷综合久久一区二区三区| 久久精品欧洲| 色综合天天视频在线观看| 精品一区二区久久久| 久久99精品久久久久久久久久久久| 国产高清精品在线| 97在线公开视频| 国产一级电影网| 亚洲电影免费观看| 成人春色在线观看免费网站| 92国产精品久久久久首页| 欧美精品videossex88| 日韩极品在线观看| 国产乱视频在线观看播放| 亚洲中字在线| 欧美亚洲激情视频| 四虎成人永久地址| 一级片免费在线| 亚洲在线视频| 国产三级自拍| 电影久久久久久| 国产一级做a爰片久久| 精品国产一级毛片| 欧美乱大交xxxxx另类| 美女做暖暖视频免费在线观看全部网址91| 婷婷综合影院| www.超碰在线| 日韩欧美三级在线观看| 99久久精品免费观看| 日韩亚洲视频在线| 国产成人永久免费视频| 成人性生交大片免费看在线播放| 欧美亚洲一区二区在线| 日韩av在线不卡| 无码人妻丰满熟妇区五十路| 欧美精品丝袜中出| 亚洲日本一区二区三区在线观看| 日韩精品三区四区| 99精品欧美一区二区三区小说|