Maison développement back-end Tutoriel XML/RSS Exemple de détails de code pour un panier d'achat basé sur XML

Exemple de détails de code pour un panier d'achat basé sur XML

Mar 04, 2017 pm 05:29 PM

Les paniers d'achat sont un élément indispensable des sites Web de commerce électronique, mais actuellement, la plupart des paniers d'achat ne peuvent être utilisés que comme affichage pour les produits sélectionnés par un client. Le client ne peut pas extraire le contenu du panier pour répondre à ses propres besoins de traitement des transactions. . Ceci est nécessaire dans certaines activités de commerce électronique. L'émergence du XML donne du sens aux données transmises sur le réseau. Nous pouvons afficher le contenu d'un panier dans différents styles selon différentes exigences.

Cet article analysera en détail un panier d'achat basé sur XML implémenté en Java. Voici la structure interne XML d'un panier contenant cinq articles : son élément racine est cart, l'élément total représente le montant total dans le panier, chaque élément article représente un produit et les sous-éléments de l'article sont marqués respectivement. Les informations spécifiques du produit peuvent être ajoutées, modifiées ou supprimées en fonction de la situation réelle.

Ici, vous devez créer une classe qui représente le panier : XMLCart.java C'est un JavaBean, il contient donc un constructeur vide. Cette classe contient quelques fonctions de base du panier : générer un panier vide, ajouter des articles au panier, supprimer des articles dans le panier, modifier le nombre d'articles dans le panier, vider le panier, etc. Il possède une variable privée globale "PRivate XMLDocument myCart". myCart est utilisé pour stocker le contenu détaillé du panier. La fonction de base du panier est de le faire fonctionner. Son type est XMLDocument, qui est un document XML. De cette manière, le fonctionnement du panier est converti en ajout et suppression de sous-éléments dans myCart, ainsi qu'en calcul et modification des valeurs des éléments.

1. Vider le panier

Effacer le panier générera un panier vide. Ici, le panier vide est un document XML contenant l'élément racine panier et son élément total. L'élément total est le montant total du panier, et sa valeur initiale est 0. Sa forme XML spécifique est la suivante :

< ?xml version=‘1.0’ encoding=‘gb2312’?>
< cart>
< total>0< /total>
< /cart>
Copier après la connexion

will Cette chaîne XML est convertie en XMLDocument par la fonction parseString et stockée dans myCart.
Le code est le suivant :

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

2. Ajouter un produit
Ajouter un produit, c'est-à-dire ajouter l'élément d'article entrant au panier d'éléments racine,
où l'article comprend les détails du produit,
et calculer la valeur du total en même temps. Le code est le suivant :

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();    //计算总金额
        }
    }
Copier après la connexion

3. Supprimer un produit
Supprimer un produit, c'est-à-dire supprimer l'élément article
du produit du panier d'éléments racine de myCart en fonction du code produit,
et recalculer la valeur du total :

public void moveItemFromCart(String id){
//取出以item为单位的节点集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中删除该节点,并跳出循环
if(idValue.equals(id)){
      itemNode=cartRoot.removeChild(itemNode);
       break;
            }
        }
        computeTotal();    //计算总金额
    }
Copier après la connexion

4. Changer la quantité du produit
Selon la quantité renseignée par le client sur la page, modifier la quantité dans monCart,
et recalculer le total :

public void addQuantityToCart(String qnty) throws 
IOException,SAXException{
    //将传过来的包含商品数量的一组XML字符串转换为XML文档
XMLDocument quantityChanged=parseString(qnty);
//取出包含新数量的quantity节点集和myCart中的quantity节点集
NodeList quantityList=quantityChanged.getElementsByTagName(“quantity”);
NodeList cartList=myCart.getElementsByTagName(“quantity”);
//循环改变商品的数量
for(int x=0;x< cartList.getLength();x++){
//将新quantity的值赋给myCart中相应的quantity中去
String quantity=quantityList.item(x).getFirstChild().getNodeValue();
cartList.item(x).getFirstChild().setNodeValue(quantity);
}
computeTotal();    //计算总金额
    }
Copier après la connexion

5. Calculer le montant total
revient à calculer la valeur du total, où total=∑(prix*quantité) :

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);
  }
Copier après la connexion

6. Déterminez si le panier est vide
Habituellement, lors de l'ajout de nouveaux produits, vous devez également savoir si le panier est vide
S'il est vide, un nouveau panier doit être généré.

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

7. Déterminez si le produit sélectionné est déjà dans le panier
Autrement dit, déterminez si l'article du produit nouvellement transféré existe déjà dans myCart. S'il existe, renvoyez 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;
    }
Copier après la connexion

En plus des méthodes ci-dessus, XMLCart inclut également la méthode parseString, qui convertit la chaîne XML de String lors de la saisie en XMLDocument, et attribue XSL à myCart lors de la sortie et renvoie le type String. . La méthode cartTurnToStringWithXSL des chaînes XML est utilisée pour aider à la mise en œuvre des principales opérations du panier, qui ne seront pas décrites en détail ici.

Ce qui précède est un exemple de code détaillé du panier d'achat basé sur XML. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Puis-je ouvrir un fichier XML à l'aide de PowerPoint ? Puis-je ouvrir un fichier XML à l'aide de PowerPoint ? Feb 19, 2024 pm 09:06 PM

Les fichiers XML peuvent-ils être ouverts avec PPT ? XML, Extensible Markup Language (Extensible Markup Language), est un langage de balisage universel largement utilisé dans l'échange et le stockage de données. Comparé au HTML, XML est plus flexible et peut définir ses propres balises et structures de données, rendant le stockage et l'échange de données plus pratiques et unifiés. PPT, ou PowerPoint, est un logiciel développé par Microsoft pour créer des présentations. Il fournit un moyen complet de

Convertir des données XML au format CSV en Python Convertir des données XML au format CSV en Python Aug 11, 2023 pm 07:41 PM

Convertir des données XML en Python au format CSV XML (ExtensibleMarkupLanguage) est un langage de balisage extensible couramment utilisé pour le stockage et la transmission de données. CSV (CommaSeparatedValues) est un format de fichier texte délimité par des virgules couramment utilisé pour l'importation et l'exportation de données. Lors du traitement des données, il est parfois nécessaire de convertir les données XML au format CSV pour faciliter l'analyse et le traitement. Python est un puissant

Comment implémenter une fonction simple de panier d'achat en Java ? Comment implémenter une fonction simple de panier d'achat en Java ? Nov 02, 2023 am 11:56 AM

Comment implémenter une fonction simple de panier d'achat en Java ? Le panier est une fonctionnalité importante d'une boutique en ligne, qui permet aux utilisateurs d'ajouter les articles qu'ils souhaitent acheter au panier et de gérer les articles. En Java, nous pouvons implémenter une fonction de panier simple en utilisant une approche orientée objet. Tout d’abord, nous devons définir une classe de produits. Cette classe contient des attributs tels que le nom du produit, le prix et la quantité, ainsi que les méthodes Getter et Setter correspondantes. Par exemple : publicclassProduct

Gestion des erreurs et des exceptions en XML à l'aide de Python Gestion des erreurs et des exceptions en XML à l'aide de Python Aug 08, 2023 pm 12:25 PM

Gestion des erreurs et des exceptions dans XML à l'aide de Python XML est un format de données couramment utilisé pour stocker et représenter des données structurées. Lorsque nous utilisons Python pour traiter XML, nous pouvons parfois rencontrer des erreurs et des exceptions. Dans cet article, je vais vous présenter comment utiliser Python pour gérer les erreurs et les exceptions dans XML, et fournir un exemple de code pour référence. Utilisez l'instruction try-sauf pour détecter les erreurs d'analyse XML Lorsque nous utilisons Python pour analyser XML, nous pouvons parfois rencontrer des

Python analyse les caractères spéciaux et les séquences d'échappement en XML Python analyse les caractères spéciaux et les séquences d'échappement en XML Aug 08, 2023 pm 12:46 PM

Python analyse les caractères spéciaux et les séquences d'échappement en XML XML (eXtensibleMarkupLanguage) est un format d'échange de données couramment utilisé pour transférer et stocker des données entre différents systèmes. Lors du traitement de fichiers XML, vous rencontrez souvent des situations contenant des caractères spéciaux et des séquences d'échappement, qui peuvent provoquer des erreurs d'analyse ou une mauvaise interprétation des données. Par conséquent, lors de l’analyse de fichiers XML à l’aide de Python, nous devons comprendre comment gérer ces caractères spéciaux et ces séquences d’échappement. 1. Caractères spéciaux et

Comment gérer les formats de données XML et JSON dans le développement C# Comment gérer les formats de données XML et JSON dans le développement C# Oct 09, 2023 pm 06:15 PM

La gestion des formats de données XML et JSON dans le développement C# nécessite des exemples de code spécifiques. Dans le développement de logiciels modernes, XML et JSON sont deux formats de données largement utilisés. XML (Extensible Markup Language) est un langage de balisage permettant de stocker et de transmettre des données, tandis que JSON (JavaScript Object Notation) est un format d'échange de données léger. Dans le développement C#, nous devons souvent traiter et exploiter des données XML et JSON. Cet article se concentrera sur la façon d'utiliser C# pour traiter ces deux formats de données et les attacher.

Tutoriel pratique : Explication détaillée de la fonction panier avec PHP et MySQL Tutoriel pratique : Explication détaillée de la fonction panier avec PHP et MySQL Mar 15, 2024 pm 12:27 PM

Tutoriel pratique : Explication détaillée de la fonction de panier d'achat en utilisant PHP et MySQL La fonction de panier d'achat est l'une des fonctions courantes dans le développement de sites Web. Grâce au panier d'achat, les utilisateurs peuvent facilement ajouter les articles qu'ils souhaitent acheter au panier. puis procédez au règlement et au paiement. Dans cet article, nous détaillerons comment implémenter une fonction de panier simple à l'aide de PHP et MySQL et fournirons des exemples de code spécifiques. Pour créer une base de données et une table de données, vous devez d'abord créer une table de données dans la base de données MySQL pour stocker les informations sur le produit. Ce qui suit est un simple tableau de données

Comment implémenter la fonction de panier d'achat à l'aide de Redis et JavaScript Comment implémenter la fonction de panier d'achat à l'aide de Redis et JavaScript Sep 21, 2023 pm 01:27 PM

Comment utiliser Redis et JavaScript pour implémenter la fonction de panier d'achat. Le panier d'achat est l'une des fonctions les plus courantes sur les sites Web de commerce électronique. Il permet aux utilisateurs d'ajouter des articles d'intérêt au panier, ce qui facilite leur visualisation et leur visualisation. gérer les articles achetés à tout moment. Dans cet article, nous présenterons comment implémenter la fonction de panier d'achat à l'aide de Redis et JavaScript, et fournirons des exemples de code spécifiques. 1. Préparation Avant de commencer, nous devons nous assurer que Redis a été installé et configuré, ce qui peut être fait via le site officiel [https:/

See all articles