Verwandte Lesungen:
Verwenden Sie AJAX, um Dateien und andere Parameter hochzuladen (Java -Entwicklung)
1. XML -Datei:
Was ist XML? XML bezieht sich im Allgemeinen auf eine erweiterbare Markup -Sprache, eine Untergruppe von Standard -General -Markup -Sprachen, und ist eine Markup -Sprache, mit der elektronische Dateien markiert werden, um sie strukturell zu machen.
2. Vorteile von XML -Dateien:
1) Der Inhalt und die Struktur von XML -Dokumenten sind vollständig getrennt.
2) Starke Interoperabilität.
3) standardisieren und vereinen.
4) unterstützt mehrere Codierungen.
5) Starke Skalierbarkeit.
3.. Wie man XML -Dokumente analysiert:
XML -Parsen -XML -Dokumente in verschiedenen Sprachen sind gleich, die Implementierungssyntax ist jedoch unterschiedlich. Es gibt zwei grundlegende Parsingmethoden. Eine davon ist die SAX -Methode, die Schritt für Schritt in der Reihenfolge von XML -Dateien analysiert wird. Eine andere analytische Methode ist die DOM -Methode, und der Schlüssel zur DOM -Methode ist der Knoten. Es gibt auch DOM4J, JDOM und andere Methoden. In diesem Artikel wird die DOM- und DOM4J -Methoden und die Methode zur Einkapselung in eine Werkzeugklasse eingeführt, um XML -Dokumente zu lesen.
4.xml Dokumentation:
punkte.xml:
<? <Name> Zhang sAN </name> <curs> javase </curous> <Core> 100 </Score> </student> <student
5.Dom analysieren xml
public static void main (String [] args) löst ParserSconfigurationException, Saxexception, ioException {// 1 aus. DOM Parser Factory DocumentBuilderFactory DBF = DocumentBuilderFactory.NewinStance (); // 2. Erstellen Sie DOM -Parser aus dem DOM Parser Factory DocumentBuilder db = dbf.newdocumentBuilder (); // 3. Analysiert das Dokument aus dem DOM -Parser, um das DOM -Baum -Dokument doc = db.parse zu generieren ("Scores.xml"); // 4. Analysiert den DOM -Baum und erhält den Dokumentinhalt (Element -Attributtext) //4.1 das Root Element Scores NODelist ScoresList = doc.getChildnodes (); Node scoresNode = scoresList.item (1); System.out.println (ScoresList.getLength ()); //4.2 Alle Kinderelemente in Scores Student nodelist studentList = scoresNode.getchildnodes (); System.out.println (studentList.getLength ()); //4.3 Verarbeiten Sie jeden Schüler für (int i = 0; i <studentList.getLength (); i ++) {node stunode = studentList.item (i); //System.out.println (Stunode.getNodetype ()); // Die Attribut -ID des Ausgabelements if (stunode.getNodetype () == node.element_node) {Element elem = (Element) Stunode; String id = elem.getAttribute ("id"); System.out.println ("id ------>"+id); } // Die untergeordneten Elemente des Ausgabelementnamens Kurs Score Nodelist ncSlist = Stunode.getChildnodes (); //System.out.println (ncSlist.getLength ()); für (int j = 0; j <ncSlist.getLength (); j ++) {node ncs = ncslist.item (j); if (ncs.getNodetype () == node.element_node) {string name = ncs.getNodename (); // String value = ncs.getFirstchild (). GetNoDeValue (); // Text ist ein Kind eines Elements, also müssen Sie firstchild String value = ncs.GetTextContent () erhalten; System.out.println (Name+"------>"+Wert); }} System.out.println (); }}6. DOM4J -Methode Parsing XML -Dokumente:
public static void main (String [] args) löst documentException {// DOM4J verwendet, um Score2.xml zu analysieren, DOM -Baum -Saxreader reader = new Saxreader (); Document doc = reader.read (neue Datei ("scores.xml")); // Stammknoten abrufen: Schüler element root = doc.getRootelement (); // Holen Sie sich alle Kinderknoten von Schülern: Schüler Iterator <element> iT = root.elementiterator (); // jede Schülerin schulen Sie (it.hasnext ()) {// jedes Schülerelement stuelem = it.next () erhalten; //System.out.println(stoelem); // Ausgabe der Attribute des Schülers: ID -Liste <attributs> attrlist = stuelem.attributes (); für (Attribut attr: attrList) {String name = attr.getName (); String value = attr.getValue (); System.out.println (Name+"------>"+Wert); } // Ausgabe der Kinderelemente des Schülers: Name, Kurs, Punktzahl iterator <element> iT2 = stuelem.elementiterator (); while (it2.hasnext ()) {Element elem = it2.Next (); String name = elem.getName (); String text = elem.getText (); System.out.println (Name+"------>"+Text); } System.out.println (); }}Natürlich müssen wir das JAR -Paket importieren (nicht vergessen).
7. Mein eigener Weg:
In tatsächlichen Entwicklungsprojekten müssen wir gut in der Verwendung von Werkzeugkursen verwenden und die Funktionen, die wir wiederholt in eine Werkzeugkurs verwenden, zusammenfassen. Daher ist die folgende Methode die Art und Weise, wie ich sie während des Entwicklungsprozesses verwende.
7.1 Was sind Eigenschaftendateien?
7.1.1 Strukturell:
.xml -Dateien sind hauptsächlich Baumdateien.
Die .Properties-Datei besteht hauptsächlich in Form von Schlüsselwertpaaren.
7.1.2 Aus flexibler Perspektive:
.xml -Dateien sind flexibler als .Properties -Dateien.
7.1.3 aus bequemer Sicht:
Die Datei .Properties -Datei ist einfacher zu konfigurieren als die .xml -Datei.
7.1.4 Aus der Sicht der Anwendung:
.Properties -Dateien sind besser für kleine und einfache Projekte geeignet, da .xml flexibler ist.
7.2 Dokumentation Ihrer eigenen Eigenschaften:
Ich habe eine Datei path.Properties in meinem eigenen Projekt erstellt, mit dem der Pfad, den ich verwenden werde, speichern und in Form von Name = Wert gespeichert werden. Zum Beispiel:
RealPath = D:/Datei/
7.3 Analysiert Ihre eigene .Properties -Datei:
public class PropertiesUtil {private statische Eigenschaftensutil Manager = NULL; private static Object ManagerLock = new Object (); private Object PropertiesLock = new Object (); private statische String -Datenbank_Config_file = "/path.properties"; private Eigenschaften Eigenschaften = NULL; public static PropertiesUtil getInstance () {if (Manager == null) {synchronized (ManagerLock) {if (Manager == null) {Manager = new PropertiesUtil (); }}} return Manager; } private propertiesUtil () {} public static String getProperty (String -Name) {return getInstance () ._ getProperty (Name); } private String _getProperty (String -Name) {initProperty (); String Property = Properties.getProperty (Name); if (property == null) {return ""; } else {return Property.trim (); }} public static Enumeration <?> PropertyNames () {return getInstance () ._ PropertyNames (); } private Enumeration <?> _propertynames () {initProperty (); Return Properties.propertynames (); } private void initProperty () {if (properties == null) {synchronized (PropertiesLock) {if (properties == null) {loadProperties (); }}}} private void loadProperties () {properties = new Properties (); InputStream in = null; try {in = getClass (). getResourceAsStream (Database_config_file); Eigenschaften.load (in); } catch (Ausnahme e) {System.err .println ("Fehler beim Lesen von Fehler in Eigenschaften in Eigenschaften. E. printstacktrace (); } endlich {try {in.close (); } catch (Ausnahme e) {}}} / ** * Konfigurationsdateipfad angeben * * @param filepath * @return * / public Eigenschaften LoadProperties (String Filepath) {Properties Properties = New Properties (); InputStream in = null; Versuchen Sie {in = getClass (). getResourceAsStream (filepath); Eigenschaften.load (in); } catch (Ausnahme e) {System.err .println ("Fehler beim Lesen von Fehler in Eigenschaften in propertiesutil.loadProperties ()" + e); E. printstacktrace (); } endlich {try {in.close (); } catch (Ausnahme e) {}} Rückgabeeigenschaften; }} Bevor wir es verwenden, müssen wir nur einen Wert an die Eigenschaft DATABASE_CONFIG_FILE anhängen, die der Name unserer .Properties -Datei ist. Bei der Verwendung können wir den Klassennamen direkt verwenden. getProperty(“realPath”); Um den Inhalt in der Datei.
Die oben genannte Methode zum Lesen von XML- und Eigenschaftenkonfigurationsdateien in der vom Editor vorgestellten Java -Entwicklung. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten!