


1. Informationen zum XML-Parsing
XML wird in Java-Anwendungen immer wichtiger und wird häufig bei der Datenspeicherung und dem Datenaustausch verwendet Wird in Technologien wie Java Message Service und Web Services für den Datenaustausch verwendet. Daher ist das korrekte Lesen und Schreiben von XML-Dokumenten die Grundlage für XML-Anwendungen.
Java bietet zwei Methoden, SAX und DOM, zum Parsen von XML Trotzdem ist es keine leichte Aufgabe, ein etwas komplexes XML zu lesen und zu schreiben.
2. Einführung in XMLBean
Hibernate hat sich zu einer beliebten Objekt-/relationalen Datenbank für Java-Umgebungen entwickelt Vor dem Aufkommen von Objekt-/relationalen Datenbank-Mapping-Tools wie Hibernate mussten Entwickler für jede Operation in der Datenbank selbst SQL-Anweisungen schreiben. Die Operationen auf der Datenbank werden in Operationen auf JavaBeans umgewandelt, was die Datenbankentwicklung erheblich erleichtert. Wenn es daher ein ähnliches Tool gibt, das das Lesen und Schreiben von XML in Operationen auf JavaBeans umwandeln kann, wird es das Lesen und Schreiben von XML vereinfachen. Selbst Entwickler, die mit XML nicht vertraut sind, können XML problemlos lesen und schreiben.
3. XMLBean und XML-Dokumente vorbereiten
Herunterladen von http://www.apache.org , die neueste Version ist 2.0. Das entpackte Verzeichnis lautet wie folgt:
xmlbean2.0.0 +---bin +---docs +---lib +---samples +---schemas
Zusätzlich müssen Sie ein XML-Dokument (customers.xml) vorbereiten,
Im Beispiel dieses Artikels , wir werden dieses Dokument lesen und schreiben:
<?xml version="1.0" encoding="UTF-8"?> <Customers> <customer> <id>1</id> <gender>female</gender> <firstname>Jessica</firstname> <lastname>Lim</lastname> <phoneNumber>1234567</phoneNumber> <address> <PRimaryAddress> <postalCode>350106</postalCode> <addressLine1>#25-1</addressLine1> <addressLine2>SHINSAYAMA 2-CHOME</addressLine2> </primaryAddress> <billingAddress> <receiver>Ms Danielle</receiver> <postalCode>350107</postalCode> <addressLine1>#167</addressLine1> <addressLine2>NORTH TOWER HARBOUR CITY</addressLine2> </billingAddress> </address> </customer> <customer> <id>2</id> <gender>male</gender> <firstname>David</firstname> <lastname>Bill</lastname> <phoneNumber>808182</phoneNumber> <address> <primaryAddress> <postalCode>319087</postalCode> <addressLine1>1033 WS St.</addressLine1> <addressLine2>Tima Road</addressLine2> </primaryAddress> <billingAddress> <receiver>Mr William</receiver> <postalCode>672993</postalCode> <addressLine1>1033 WS St.</addressLine1> <addressLine2>Tima Road</addressLine2> </billingAddress> </address> </customer> </Customers>
Dies ist ein Kundendatenmodell. Jeder Kunde hat eine Kundennummer (ID), einen Namen, ein Geschlecht (Geschlecht). Telefonnummer (phoneNumber) und Adresse, von denen es zwei Adressen gibt: Primäradresse (PrimaryAddress) und Rechnungsadresse (BillingAddress). Jede Adresse besteht aus Postleitzahl, Adresse 1 und Adresse 2. Die Rechnungsadresse ist auch der Empfänger (). Darüber hinaus muss eine Konfigurationsdatei (Dateiname customer.xsdconfig) erstellt werden. Auf die Funktion dieser Datei werde ich später noch eingehen:
<xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config"> <xb:namespace> <xb:package>sample.xmlbean</xb:package> </xb:namespace> </xb:config>
4. Die Schritte für die Verwendung von XMLBean
sind die gleichen wie für die Verwendung anderer Objekt-/relationaler Datenbank-Mapping-Tools für die Java-Umgebung. Vor der offiziellen Verwendung von XMLBean müssen wir zwei Vorbereitungen treffen: 1. Generieren XML-Schemadatei
Was ist eine XML-Schemadatei? Normalerweise verfügt jede XML-Schemadatei über eine XML-Einschränkungsdatei, die die Struktur und die Elemente der XML-Datei definiert die Elemente und strukturellen Einschränkungen: Wenn eine XML-Datei ein Datensatz in einer Datenbank ist, dann ist Schema eine Tabellenstrukturdefinition.
Warum muss XMLBean die Struktur und Einschränkungen kennen? Über diese Datei können Sie eine XML-Datei erstellen, z. B. Datentypen usw. Mithilfe dieser Schemadatei generiert XMLBean eine Reihe verwandter Java-Klassen, um Vorgänge in XML zu implementieren. Als Entwickler verwenden Sie die von XMLBean generierten Java-Klassen, um Vorgänge abzuschließen XML ohne die Notwendigkeit von SAX oder DOM. Entwickler, die mit XML vertraut sind, können diese Schemadatei selbst schreiben. Entwickler, die mit XML nicht vertraut sind, können sie mit einigen Tools vervollständigen. Die bekanntesten sind XMLSPY und Stylus Studio. Fügen Sie hinzu, dass wir diese Schemadatei (customer.xsd) generiert haben:
2<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="Customers"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="customer" type="customerType"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="customerType"> <xs:sequence> <xs:element name="id" type="xs:int"/> <xs:element name="gender" type="xs:string"/> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:element name="phoneNumber" type="xs:string"/> <xs:element name="address" type="addressType"/> </xs:sequence> </xs:complexType> <xs:complexType name="addressType"> <xs:sequence> <xs:element name="primaryAddress" type="primaryAddressType"/> <xs:element name="billingAddress" type="billingAddressType"/> </xs:sequence> </xs:complexType> <xs:complexType name="primaryAddressType"> <xs:sequence> <xs:element name="postalCode" type="xs:string"/> <xs:element name="addressLine1" type="xs:string"/> <xs:element name="addressLine2" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="billingAddressType"> <xs:sequence> <xs:element name="receiver" type="xs:string"/> <xs:element name="postalCode" type="xs:string"/> <xs:element name="addressLine1" type="xs:string"/> <xs:element name="addressLine2" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema>
scomp wird von XMLBean bereitgestellt. Ein Kompilierungstool, das sich im bin-Verzeichnis befindet. Mit diesem Tool können wir Java-Klassen aus der obigen Schemadatei generieren. Die Syntax von scomp lautet wie folgt: -
Hauptparameterbeschreibung:scomp [options] [dirs]* [schemaFile.xsd]* [service.wsdl]* [config.xsdconfig]*config.xsdconfig – der Speicherort der xsdconfig-Datei. Diese Datei wird hauptsächlich zum Formulieren einiger Dateinamenregeln für die generierte Java-Klasse und des Namens verwendet Das Paket. In diesem Artikel habe ich es wie folgt ausgeführt:
-src [dir] -- 生成的Java Classes存放目录 -srconly -- 不编译Java Classes,不产生Jar文件 -out [jarFileName] -- 生成的Jar文件,缺省是xmltypes.jar -compiler -- Java编译器的路径,即Javac的位置 schemaFile.xsd -- XML Schema文件位置Diese Befehlszeile bedeutet, scomp anzuweisen, customerXmlBean.jar zu generieren und im Build-Verzeichnis abzulegen Gleichzeitig wird der Quellcode generiert und unter buildsrc abgelegt. Die Dateien xsd und xsdconfig sind tatsächlich von geringem Nutzen Werfen wir zunächst einen Blick auf die unter buildsrcsamplexmlbean generierten Klassen. Jetzt sind alle unsere Vorbereitungsarbeiten abgeschlossen: Kommen wir einfach zur Sache generiert, um XML zu lesen und zu schreiben. 5. Verwenden Sie XMLBean, um XML-Dateien zu lesen.
scomp -src build\src -out build\customerXmlBean.jar schema\customer.xsd -compiler C:\jdk142_04\bin\javac customer.xsdconfig
Erstellen Sie ein neues Java-Projekt, fügen Sie die Jar-Datei unter XMLBean2.0.0lib und die soeben generierte customerXmlBean.jar hinzu zum Klassenpfad des Projekts.
CustomersDocument.java -- 整个XML文档的Java Class映射 CustomerType.java -- 节点sustomer的映射 AddressType.java -- 节点address的映射 BillingAddressType.java -- 节点billingAddress的映射 PrimaryAddressType.java -- 节点primaryAddress的映射Erstellen Sie eine neue Java-Klasse: CustomerXMLBean. Der Quellcode lautet wie folgt:
Führen Sie ihn aus und sehen Sie sich die Ausgabeergebnisse an:
Wie wäre es, ist es sehr einfach? 6. Verwenden Sie XMLBean, um XML-Dateien zu schreiben.package com.sample.reader; import java.io.File; import sample.xmlbean.*; import org.apache.commons.beanutils.BeanUtils; import org.apache.xmlbeans.XmlOptions; public class CustomerXMLBean { private String filename = null; public CustomerXMLBean(String filename) { super(); this.filename = filename; } public void customerReader() { try { File xmlFile = new File(filename); CustomersDocument doc = CustomersDocument.Factory.parse(xmlFile); CustomerType[] customers = doc.getCustomers().getCustomerArray(); for (int i = 0; i < customers.length; i++) { CustomerType customer = customers[i]; println("Customer#" + i); println("Customer ID:" + customer.getId()); println("First name:" + customer.getFirstname()); println("Last name:" + customer.getLastname()); println("Gender:" + customer.getGender()); println("PhoneNumber:" + customer.getPhoneNumber()); // Primary address PrimaryAddressType primaryAddress = customer.getAddress().getPrimaryAddress(); println("PrimaryAddress:"); println("PostalCode:" + primaryAddress.getPostalCode()); println("AddressLine1:" + primaryAddress.getAddressLine1()); println("AddressLine2:" + primaryAddress.getAddressLine2()); // Billing address BillingAddressType billingAddress = customer.getAddress().getBillingAddress(); println("BillingAddress:"); println("Receiver:" + billingAddress.getReceiver()); println("PostalCode:" + billingAddress.getPostalCode()); println("AddressLine1:" + billingAddress.getAddressLine1()); println("AddressLine2:" + billingAddress.getAddressLine2()); } } catch (Exception ex) { ex.printStackTrace(); } } private void println(String str) { System.out.println(str); } public static void main(String[] args) { String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers.xml"; CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename); customerXMLBean.customerReader(); } }
Die Verwendung von XMLBean zum Erstellen einer XML-Dokumentation ist ebenfalls ein Kinderspiel eine andere Methode,
Customer#0 Customer ID:1 First name:Jessica Last name:Lim Gender:female PhoneNumber:1234567 PrimaryAddress: PostalCode:350106 AddressLine1:#25-1 AddressLine2:SHINSAYAMA 2-CHOME BillingAddress: Receiver:Ms Danielle PostalCode:350107 AddressLine1:#167 AddressLine2:NORTH TOWER HARBOUR CITY Customer#1 Customer ID:2 First name:David Last name:Bill Gender:male PhoneNumber:808182 PrimaryAddress: PostalCode:319087 AddressLine1:1033 WS St. AddressLine2:Tima Road BillingAddress: Receiver:Mr William PostalCode:672993 AddressLine1:1033 WS St. AddressLine2:Tima RoadBitte schauen Sie sich die Java-Klasse an:
Ändern Sie die Hauptmethode
Führen Sie aus, öffnen Sie customer_new.xml:public void createCustomer() { try { // Create Document CustomersDocument doc = CustomersDocument.Factory.newInstance(); // Add new customer CustomerType customer = doc.addNewCustomers().addNewCustomer(); // set customer info customer.setId(3); customer.setFirstname("Jessica"); customer.setLastname("Lim"); customer.setGender("female"); customer.setPhoneNumber("1234567"); // Add new address AddressType address = customer.addNewAddress(); // Add new PrimaryAddress PrimaryAddressType primaryAddress = address.addNewPrimaryAddress(); primaryAddress.setPostalCode("350106"); primaryAddress.setAddressLine1("#25-1"); primaryAddress.setAddressLine2("SHINSAYAMA 2-CHOME"); // Add new BillingAddress BillingAddressType billingAddress = address.addNewBillingAddress(); billingAddress.setReceiver("Ms Danielle"); billingAddress.setPostalCode("350107"); billingAddress.setAddressLine1("#167"); billingAddress.setAddressLine2("NORTH TOWER HARBOUR CITY"); File xmlFile = new File(filename); doc.save(xmlFile); } catch (Exception ex) { ex.printStackTrace(); } }7. Verwenden Sie XMLBean, um die XML-Datei zu ändern Wir fügen eine weitere Methode hinzu:
public static void main(String[] args) { String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers_new.xml"; CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename); customerXMLBean.createCustomer(); }Nach dem Ausführen sehen wir den Nachnamen des Kunden mit der Kundennummer 3 wurde in „letzte“ geändert.
<?xml version="1.0" encoding="UTF-8"?> <Customers> <customer> <id>3</id> <gender>female</gender> <firstname>Jessica</firstname> <lastname>Lim</lastname> <phoneNumber>1234567</phoneNumber> <address> <primaryAddress> <postalCode>350106</postalCode> <addressLine1>#25-1</addressLine1> <addressLine2>SHINSAYAMA 2-CHOME</addressLine2> </primaryAddress> <billingAddress> <receiver>Ms Danielle</receiver> <postalCode>350107</postalCode> <addressLine1>#167</addressLine1> <addressLine2>NORTH TOWER HARBOUR CITY</addressLine2> </billingAddress> </address> </customer> </Customers>
8. Verwenden Sie XMLBean, um einen Kunden zu löschen
und fügen Sie eine weitere Methode hinzu:
public void deleteCustomer(int id) { try { File xmlFile = new File(filename); CustomersDocument doc = CustomersDocument.Factory.parse(xmlFile); CustomerType[] customers = doc.getCustomers().getCustomerArray(); for (int i = 0; i < customers.length; i++) { CustomerType customer = customers[i]; if(customer.getId()==id){ customer.setNil() ; break; } } doc.save(xmlFile); } catch (Exception ex) { ex.printStackTrace(); } } main method: public static void main(String[] args) { String filename = "F://JavaTest//Eclipse//XMLBean//xml//customers_new.xml"; CustomerXMLBean customerXMLBean = new CustomerXMLBean(filename); customerXMLBean.deleteCustomer(3); }
运行,我们将会看到客户编号为3的客户的资料已经被删除.
九、查询XML
除了本文在以上讲述的,利用XMLBean能轻轻松松完成XML的读写操作外,结合XPath和XQuery,XMLBean还能完成象SQL查询数据库一样方便地查询XML数据. 关于XML查询以及如何创建XML数据库, 我将在另一篇文章里讨论.
十、结束语
XMLBean能帮助我们轻易读写XML,这将有助于我们降低XML的学习和使用,有了这个基础,开发人员将为学习更多地XML相关技术和Web Services,JMS等其他J2EE技术打下良好地基础.
以上就是利用XMLBean轻轻松松读写XML的内容,更多相关内容请关注PHP中文网(www.php.cn)!

RSS2.0 ist ein offener Standard, mit dem Content -Publisher Inhalte strukturiert verteilen kann. Es enthält reichhaltige Metadaten wie Titel, Links, Beschreibungen, Veröffentlichungsdaten usw., mit denen Abonnenten schnell durchsuchen und auf Inhalte zugreifen können. Die Vorteile von RSS2.0 sind seine Einfachheit und Skalierbarkeit. Beispielsweise ermöglicht es benutzerdefinierte Elemente, dh Entwickler können zusätzliche Informationen basierend auf ihren Anforderungen hinzufügen, z. B. Autoren, Kategorien usw.

RSS ist ein XML-basiertes Format, das zur Veröffentlichung häufig aktualisierter Inhalte verwendet wird. 1. RSSFEED organisiert Informationen über die XML -Struktur, einschließlich Titel, Link, Beschreibung usw. 2. Das Erstellen von RSSFeed erfordert das Schreiben in der XML -Struktur und addiert Metadaten wie Sprache und Veröffentlichungsdatum. 3. Die erweiterte Verwendung kann Multimedia -Dateien und klassifizierte Informationen enthalten. 4. Verwenden Sie beim Debuggen XML -Überprüfungswerkzeuge, um sicherzustellen, dass die erforderlichen Elemente existieren und korrekt codiert werden. 5. Optimierung von RSSFeed kann durch Pagen, Zwischenspeichern und Einfachen der Struktur erreicht werden. Durch das Verständnis und Anwenden dieses Wissens können Inhalte effektiv verwaltet und verteilt werden.

RSS ist ein XML-basiertes Format, das zum Veröffentlichen und Abonnieren von Inhalten verwendet wird. Die XML -Struktur einer RSS -Datei enthält ein Stammelement, ein Element und mehrere Elemente, die jeweils einen Inhaltseintrag darstellen. Lesen und analysieren Sie RSS -Dateien über XML -Parser, und Benutzer können den neuesten Inhalt abonnieren und abrufen.

XML hat die Vorteile strukturierter Daten, Skalierbarkeit, plattformübergreifender Kompatibilität und Parsingüberprüfung in RSS. 1) Strukturierte Daten sorgen für die Konsistenz und Zuverlässigkeit des Inhalts; 2) Die Skalierbarkeit ermöglicht das Hinzufügen von benutzerdefinierten Tags, um den Inhaltsanforderungen zu entsprechen. 3) Die plattformübergreifende Kompatibilität funktioniert es nahtlos auf verschiedenen Geräten. 4) Analytische und Überprüfungswerkzeuge gewährleisten die Qualität und Integrität des Futters.

Die Implementierung von RSS in XML besteht darin, Inhalte durch ein strukturiertes XML -Format zu organisieren. 1) RSS verwendet XML als Datenaustauschformat, einschließlich Elemente wie Kanalinformationen und Projektliste. 2) Beim Generieren von RSS -Dateien müssen Inhalte gemäß den Spezifikationen organisiert und für das Abonnement auf dem Server veröffentlicht werden. 3) RSS-Dateien können über einen Leser oder ein Plug-in abonniert werden, um den Inhalt automatisch zu aktualisieren.

Zu den erweiterten Funktionen von RSS gehören Inhaltsnamenspaces, Erweiterungsmodule und bedingte Abonnements. 1) Inhaltsnamenspace erweitert die RSS -Funktionalität, 2) erweiterte Module wie Dublincore oder iTunes, um Metadaten hinzuzufügen, 3) bedingte Abonnementfiltereinträge basierend auf bestimmten Bedingungen. Diese Funktionen werden implementiert, indem XML -Elemente und -attribute hinzugefügt werden, um die Effizienz des Informationen zu verbessern.

RSSFEEDSUSUSExMLTOstructureRecontentupdates.1) XmlProvidesahierarchicalStructurefordata.2) Die Auslagerungdefinedefeed -Säuberlichkeitsumschläge

RSS und XML sind Tools für die Verwaltung von Webinhalten. RSS wird verwendet, um Inhalte zu veröffentlichen und zu abonnieren, und XML wird verwendet, um Daten zu speichern und zu übertragen. Sie arbeiten mit Content Publishing, Abonnements und Update Push. Beispiele für die Nutzung sind RSS Publishing -Blog -Beiträge und XML -Speicherbuchinformationen.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software
