Heim Backend-Entwicklung XML/RSS-Tutorial Beispielcodedetails für einen XML-basierten Warenkorb

Beispielcodedetails für einen XML-basierten Warenkorb

Mar 04, 2017 pm 05:29 PM

Warenkörbe sind ein unverzichtbarer Bestandteil von E-Commerce-Websites, aber derzeit können die meisten Einkaufskörbe nur zur Anzeige der vom Kunden ausgewählten Produkte verwendet werden. Der Kunde kann den Inhalt des Einkaufswagens nicht extrahieren, um seine eigenen Transaktionsverarbeitungsanforderungen zu erfüllen . Dies ist bei einigen E-Commerce-Aktivitäten notwendig. Das Aufkommen von XML macht die im Netzwerk übertragenen Daten aussagekräftig. Wir können den Inhalt eines Warenkorbs je nach Anforderung in verschiedenen Stilen anzeigen.

In diesem Artikel wird ein in Java implementierter XML-basierter Warenkorb detailliert analysiert. Das Folgende ist die interne XML-Struktur eines Warenkorbs mit fünf Artikeln: Sein Stammelement ist Warenkorb, das Gesamtelement stellt den Gesamtbetrag im Warenkorb dar, jedes Artikelelement stellt ein Produkt dar und die Unterelemente im Artikel sind markiert Die spezifischen Informationen des Produkts können entsprechend der tatsächlichen Situation hinzugefügt, geändert oder gelöscht werden.

Hier müssen Sie eine Klasse erstellen, die den Warenkorb darstellt: XMLCart.java Es ist eine JavaBean und enthält daher einen leeren Konstruktor. Diese Klasse enthält einige Grundfunktionen des Warenkorbs: Erzeugen eines leeren Warenkorbs, Hinzufügen von Artikeln zum Warenkorb, Löschen von Artikeln im Warenkorb, Ändern der Anzahl der Artikel im Warenkorb, Leeren des Warenkorbs usw. Es verfügt über eine globale private Variable „PRivate XMLDocument myCart“, die zum Speichern des detaillierten Inhalts des Warenkorbs verwendet wird. Die Grundfunktion des Warenkorbs besteht darin, ihn zu bedienen. Auf diese Weise wird die Bedienung des Warenkorbs in das Hinzufügen und Löschen von Unterelementen in myCart sowie in die Berechnung und Änderung von Elementwerten umgewandelt.

1. Warenkorb leeren

Durch das Löschen des Warenkorbs wird ein leerer Warenkorb generiert. Hier ist der leere Warenkorb ein XML-Dokument, das das Stammelement „cart“ und sein Element „total“ enthält. Das Gesamtelement ist der Gesamtbetrag des Warenkorbs und sein Anfangswert ist 0. Seine spezifische XML-Form ist wie folgt:

< ?xml version=‘1.0’ encoding=‘gb2312’?>
< cart>
< total>0< /total>
< /cart>
Nach dem Login kopieren

wird Dieser XML-String wird von der parseString-Funktion in ein XML-Dokument konvertiert und in myCart gespeichert.
Der Code lautet wie folgt:

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

2. Fügen Sie ein Produkt hinzu
Fügen Sie ein Produkt hinzu, d. h. fügen Sie das eingehende Artikelelement zum Stammelement-Warenkorb hinzu,
wobei der Artikel Produktdetails enthält,
und berechnen Sie gleichzeitig den Gesamtwert. Der Code lautet wie folgt:

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();    //计算总金额
        }
    }
Nach dem Login kopieren

3. Löschen Sie ein Produkt
Löschen Sie ein Produkt, d. h. löschen Sie das Artikelelement
des Produkts aus dem Stammelement Warenkorb von myCart gemäß dem Produktcode,
und berechnen Sie den Gesamtwert neu:

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();    //计算总金额
    }
Nach dem Login kopieren

4. Ändern Sie die Menge des Produkts
Ändern Sie entsprechend der vom Kunden auf der Seite eingegebenen Menge die Menge in myCart,
und berechnen Sie die Gesamtsumme neu:

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();    //计算总金额
    }
Nach dem Login kopieren

5. Die Berechnung des Gesamtbetrags
bedeutet, den Gesamtwert zu berechnen, wobei Gesamt = ∑ (Preis * Menge):

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);
  }
Nach dem Login kopieren

6. Stellen Sie fest, ob der Warenkorb leer ist.
Normalerweise müssen Sie beim Hinzufügen neuer Produkte auch wissen, ob der Warenkorb leer ist.
Wenn er leer ist, muss ein neuer Warenkorb erstellt werden.

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

7. Stellen Sie fest, ob sich das ausgewählte Produkt bereits im Warenkorb befindet.
Das heißt, stellen Sie fest, ob der Artikel des neu übertragenen Produkts bereits in myCart vorhanden ist. Wenn er vorhanden ist, geben Sie „true“ zurück.

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;
    }
Nach dem Login kopieren

Zusätzlich zu den oben genannten Methoden enthält XMLCart auch die Methode parseString, die den XML-String bei der Eingabe von String in XMLDocument konvertiert, bei der Ausgabe XSL an myCart zuweist und den String-Typ zurückgibt . Die Methode „cartTurnToStringWithXSL“ von XML-Strings wird verwendet, um die Implementierung der Hauptoperationen des Warenkorbs zu unterstützen, die hier nicht im Detail beschrieben werden.

Oben finden Sie die Beispielcodedetails des XML-basierten Warenkorbs. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Kann ich eine XML-Datei mit PowerPoint öffnen? Kann ich eine XML-Datei mit PowerPoint öffnen? Feb 19, 2024 pm 09:06 PM

Können XML-Dateien mit PPT geöffnet werden? XML, Extensible Markup Language (Extensible Markup Language), ist eine universelle Auszeichnungssprache, die häufig im Datenaustausch und in der Datenspeicherung verwendet wird. Im Vergleich zu HTML ist XML flexibler und kann eigene Tags und Datenstrukturen definieren, wodurch die Speicherung und der Austausch von Daten komfortabler und einheitlicher werden. PPT oder PowerPoint ist eine von Microsoft entwickelte Software zum Erstellen von Präsentationen. Es bietet eine umfassende Möglichkeit

Konvertieren Sie XML-Daten in Python in das CSV-Format Konvertieren Sie XML-Daten in Python in das CSV-Format Aug 11, 2023 pm 07:41 PM

Konvertieren Sie XML-Daten in Python in das CSV-Format. XML (ExtensibleMarkupLanguage) ist eine erweiterbare Auszeichnungssprache, die häufig zur Datenspeicherung und -übertragung verwendet wird. CSV (CommaSeparatedValues) ist ein durch Kommas getrenntes Textdateiformat, das häufig für den Datenimport und -export verwendet wird. Bei der Datenverarbeitung ist es manchmal erforderlich, XML-Daten zur einfachen Analyse und Verarbeitung in das CSV-Format zu konvertieren. Python ist mächtig

Behandeln von Fehlern und Ausnahmen in XML mit Python Behandeln von Fehlern und Ausnahmen in XML mit Python Aug 08, 2023 pm 12:25 PM

Behandeln von Fehlern und Ausnahmen in XML mit Python XML ist ein häufig verwendetes Datenformat zum Speichern und Darstellen strukturierter Daten. Wenn wir Python zum Verarbeiten von XML verwenden, können manchmal Fehler und Ausnahmen auftreten. In diesem Artikel werde ich die Verwendung von Python zur Behandlung von Fehlern und Ausnahmen in XML vorstellen und einige Beispielcodes als Referenz bereitstellen. Verwenden Sie Try-Exception-Anweisungen, um XML-Parsing-Fehler abzufangen. Wenn wir Python zum Parsen von XML verwenden, können manchmal Fehler auftreten

Wie implementiert man eine einfache Warenkorbfunktion in Java? Wie implementiert man eine einfache Warenkorbfunktion in Java? Nov 02, 2023 am 11:56 AM

Wie implementiert man eine einfache Warenkorbfunktion in Java? Der Warenkorb ist eine wichtige Funktion eines Online-Shops, mit der Benutzer Artikel, die sie kaufen möchten, in den Warenkorb legen und diese verwalten können. In Java können wir eine einfache Warenkorbfunktion mithilfe eines objektorientierten Ansatzes implementieren. Zuerst müssen wir eine Produktkategorie definieren. Diese Klasse enthält Attribute wie Produktname, Preis und Menge sowie entsprechende Getter- und Setter-Methoden. Zum Beispiel: publicclassProduct

Python analysiert Sonderzeichen und Escape-Sequenzen in XML Python analysiert Sonderzeichen und Escape-Sequenzen in XML Aug 08, 2023 pm 12:46 PM

Python analysiert Sonderzeichen und Escape-Sequenzen in XML. XML (eXtensibleMarkupLanguage) ist ein häufig verwendetes Datenaustauschformat, das zum Übertragen und Speichern von Daten zwischen verschiedenen Systemen verwendet wird. Bei der Verarbeitung von XML-Dateien kommt es häufig vor, dass Sonderzeichen und Escape-Sequenzen enthalten sind, die zu Analysefehlern oder einer Fehlinterpretation der Daten führen können. Daher müssen wir beim Parsen von XML-Dateien mit Python verstehen, wie mit diesen Sonderzeichen und Escape-Sequenzen umgegangen wird. 1. Sonderzeichen und

Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung Oct 09, 2023 pm 06:15 PM

Für den Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung sind spezifische Codebeispiele erforderlich. In der modernen Softwareentwicklung sind XML und JSON zwei weit verbreitete Datenformate. XML (Extensible Markup Language) ist eine Auszeichnungssprache zum Speichern und Übertragen von Daten, während JSON (JavaScript Object Notation) ein leichtes Datenaustauschformat ist. Bei der C#-Entwicklung müssen wir häufig XML- und JSON-Daten verarbeiten und verarbeiten. Dieser Artikel konzentriert sich auf die Verwendung von C# zum Verarbeiten und Anhängen dieser beiden Datenformate

Praktisches Tutorial: Ausführliche Erklärung der Warenkorbfunktion mit PHP und MySQL Praktisches Tutorial: Ausführliche Erklärung der Warenkorbfunktion mit PHP und MySQL Mar 15, 2024 pm 12:27 PM

Praktisches Tutorial: Ausführliche Erklärung der Warenkorbfunktion mit PHP und MySQL. Die Warenkorbfunktion ist eine der häufigsten Funktionen bei der Website-Entwicklung. Über den Warenkorb können Benutzer die Artikel, die sie kaufen möchten, einfach in den Warenkorb legen Fahren Sie dann mit der Abrechnung und Zahlung fort. In diesem Artikel erklären wir detailliert, wie Sie eine einfache Warenkorbfunktion mit PHP und MySQL implementieren, und stellen spezifische Codebeispiele bereit. Um eine Datenbank und eine Datentabelle zu erstellen, müssen Sie zunächst eine Datentabelle in der MySQL-Datenbank erstellen, um Produktinformationen zu speichern. Das Folgende ist eine einfache Datentabelle

So implementieren Sie die Warenkorbfunktion mit Redis und JavaScript So implementieren Sie die Warenkorbfunktion mit Redis und JavaScript Sep 21, 2023 pm 01:27 PM

So implementieren Sie die Warenkorbfunktion mit Redis und JavaScript. Der Warenkorb ist eine der häufigsten Funktionen auf E-Commerce-Websites. Er ermöglicht Benutzern das Hinzufügen interessanter Artikel zum Warenkorb und erleichtert so die Anzeige Gekaufte Artikel jederzeit verwalten. In diesem Artikel stellen wir die Implementierung der Warenkorbfunktion mithilfe von Redis und JavaScript vor und stellen spezifische Codebeispiele bereit. 1. Vorbereitung Bevor wir beginnen, müssen wir sicherstellen, dass Redis installiert und konfiguriert wurde. Dies kann über die offizielle Website [https:/] erfolgen.

See all articles