Heim Backend-Entwicklung XML/RSS-Tutorial Beispielcode für die gemeinsame Nutzung von XML-Zeichen mit der Map-Tool-Klasse

Beispielcode für die gemeinsame Nutzung von XML-Zeichen mit der Map-Tool-Klasse

Apr 01, 2017 pm 01:13 PM

XMLZeichenkonvertierungKarteWerkzeugklasse-Beispielcode-Sharing

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class XmlUtils {

    public static Map<String, Object> Str2Map(String str){
        try {
//            long beginTime = System.currentTimeMillis();
            Document doc = DocumentHelper.parseText(str);
//            System.out.println(doc.asXML());
            Map<String, Object> map = XmlUtils.Dom2Map(doc);
//            System.out.println(map.toString());
//            System.out.println("Use time:"+(System.currentTimeMillis()-beginTime));
            return map;
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        return null;
    }
    
    public static Map<String, Object> Dom2Map(Document doc){ 
        Map<String, Object> map = new HashMap<String, Object>(); 
        if(doc == null) 
            return map; 
        Element root = doc.getRootElement(); 
        for (Iterator iterator = root.elementIterator(); iterator.hasNext();) { 
            Element e = (Element) iterator.next(); 
            List list = e.elements(); 
            if(list.size() > 0){ 
                map.put(e.getName(), Dom2Map(e)); 
            }else 
                map.put(e.getName(), e.getText()); 
        } 
        return map; 
    } 
    
    @SuppressWarnings("unchecked")
    public static Map Dom2Map(Element e){ 
        Map map = new HashMap(); 
        List list = e.elements(); 
        if(list.size() > 0){ 
            for (int i = 0;i < list.size(); i++) { 
                Element iter = (Element) list.get(i); 
                List mapList = new ArrayList(); 

                if(iter.elements().size() > 0){ 
                    Map m = Dom2Map(iter); 
                    if(map.get(iter.getName()) != null){ 
                        Object obj = map.get(iter.getName()); 
                        if(!obj.getClass().getName().equals("java.util.ArrayList")){ 
                            mapList = new ArrayList(); 
                            mapList.add(obj); 
                            mapList.add(m); 
                        } 
                        if(obj.getClass().getName().equals("java.util.ArrayList")){ 
                            mapList = (List) obj; 
                            mapList.add(m); 
                        } 
                        map.put(iter.getName(), mapList); 
                    }else 
                        map.put(iter.getName(), m); 
                } 
                else{ 
                    if(map.get(iter.getName()) != null){ 
                        Object obj = map.get(iter.getName()); 
                        if(!obj.getClass().getName().equals("java.util.ArrayList")){ 
                            mapList = new ArrayList(); 
                            mapList.add(obj); 
                            mapList.add(iter.getText()); 
                        } 
                        if(obj.getClass().getName().equals("java.util.ArrayList")){ 
                            mapList = (List) obj; 
                            mapList.add(iter.getText()); 
                        } 
                        map.put(iter.getName(), mapList); 
                    }else 
                        map.put(iter.getName(), iter.getText()); 
                } 
            } 
        }else 
            map.put(e.getName(), e.getText()); 
        return map; 
    }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonBeispielcode für die gemeinsame Nutzung von XML-Zeichen mit der Map-Tool-Klasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Wie liest Springboot Listen, Arrays, Kartensammlungen und Objekte in YML-Dateien? Wie liest Springboot Listen, Arrays, Kartensammlungen und Objekte in YML-Dateien? May 11, 2023 am 10:46 AM

application.yml definiert die Listensammlung. Die erste Möglichkeit besteht darin, die Annotation @ConfigurationProperties zu verwenden, um alle Werte der Listensammlung zu erhalten Hier ist zu beachten, dass beim Definieren der Listensammlung zunächst eine Konfigurationsklasse Bean definiert und dann die Annotation @ConfigurationProperties verwendet wird, um den Wert der Listensammlung zu erhalten. @Component übergibt die Entitätsklasse an das Spring-Management @ConfigurationPropertie

So legen Sie die Ablaufzeitkarte in Java fest So legen Sie die Ablaufzeitkarte in Java fest May 04, 2023 am 10:13 AM

1. Technischer Hintergrund In der tatsächlichen Projektentwicklung verwenden wir häufig Caching-Middleware (wie Redis, MemCache usw.), um die Verfügbarkeit und Robustheit des Systems zu verbessern. Wenn das Projekt jedoch relativ einfach ist, besteht in vielen Fällen keine Notwendigkeit, speziell Middleware wie Redis einzuführen, um die Komplexität des Systems zu erhöhen und Caching zu verwenden. Verfügt Java selbst über nützliche, leichtgewichtige Caching-Komponenten? Die Antwort ist natürlich ja, und es gibt mehr als einen Weg. Zu den gängigen Lösungen gehören: ExpiringMap-, LoadingCache- und HashMap-basierte Paketierung. 2. Technische Effekte zur Realisierung allgemeiner Cache-Funktionen, z. B. veraltete Löschstrategie, Aufwärmen von Hotspot-Daten. 3. ExpiringMap3.

Welche Möglichkeiten gibt es, Thread-Sicherheit für Map in Java zu implementieren? Welche Möglichkeiten gibt es, Thread-Sicherheit für Map in Java zu implementieren? Apr 19, 2023 pm 07:52 PM

Methode 1. Verwenden Sie HashtableMapashtable=newHashtable(); Das ist das Erste, woran jeder denkt. Warum ist es also threadsicher? Werfen Sie dann einen Blick auf den Quellcode. Wir können sehen, dass unsere häufig verwendeten Methoden wie put, get und containsKey alle synchron sind, sodass es sich um threadsicheren publicsynchronizedbooleancontainsKey(Objectkey){Entrytab[]=table;inthash=key handelt. hashCode( );intindex=(hash&0x7FFFFFFF)%tab.leng

So konvertieren Sie Objekte in Java mit BeanMap in Karten So konvertieren Sie Objekte in Java mit BeanMap in Karten May 08, 2023 pm 03:49 PM

Es gibt viele Möglichkeiten, Javabeans und Maps zu konvertieren, wie zum Beispiel: 1. Beans über ObjectMapper in JSON konvertieren und dann JSON in Map konvertieren. Nach dem Testen wurden 10.000 Beans konvertiert. es dauert 12 Sekunden! ! ! Nicht empfohlen. 2. Erhalten Sie die Attribute und Werte der Bean-Klasse durch Java-Reflektion und konvertieren Sie sie dann in die der Karte entsprechenden Schlüssel-Wert-Paare. Diese Methode ist die zweitbeste, aber etwas aufwändiger. 3. Durch die Methode net.sf.cglib.beans.BeanMap in der Klasse ist diese Methode äußerst effizient. Der Unterschied zur zweiten Methode besteht darin, dass die Bean aufgrund der Verwendung des Caches initialisiert werden muss erstellt.

Optimieren Sie die Leistung der Go-Sprachkarte Optimieren Sie die Leistung der Go-Sprachkarte Mar 23, 2024 pm 12:06 PM

Optimieren der Leistung der Go-Sprachkarte In der Go-Sprache ist Karte eine sehr häufig verwendete Datenstruktur, die zum Speichern einer Sammlung von Schlüssel-Wert-Paaren verwendet wird. Allerdings kann die Kartenleistung bei der Verarbeitung großer Datenmengen beeinträchtigt werden. Um die Leistung der Karte zu verbessern, können wir einige Optimierungsmaßnahmen ergreifen, um die zeitliche Komplexität von Kartenoperationen zu reduzieren und dadurch die Ausführungseffizienz des Programms zu verbessern. 1. Kartenkapazität vorab zuweisen. Beim Erstellen einer Karte können wir die Anzahl der Kartenerweiterungen reduzieren und die Programmleistung verbessern, indem wir Kapazität vorab zuweisen. Im Allgemeinen wir

So konfigurieren und verwenden Sie das Kartenmodul im Nginx-Server So konfigurieren und verwenden Sie das Kartenmodul im Nginx-Server May 21, 2023 pm 05:14 PM

Die Map-Direktive verwendet das Modul ngx_http_map_module. Standardmäßig lädt Nginx dieses Modul, sofern nicht künstlich --without-http_map_module. Das Modul ngx_http_map_module kann Variablen erstellen, deren Werte mit den Werten anderer Variablen verknüpft sind. Ermöglicht die Klassifizierung oder gleichzeitige Zuordnung mehrerer Werte zu mehreren verschiedenen Werten und die Speicherung in einer Variablen. Die Map-Direktive wird zum Erstellen einer Variablen verwendet, führt die Ansichtszuordnungsoperation jedoch nur aus, wenn die Variable akzeptiert wird Bei der Verarbeitung von Anforderungen, die nicht auf Variablen verweisen, weist das Modul keine Leistungsmängel auf. 1.ngx_http_map_module Modulanweisungsbeschreibung Kartensyntax

Verwendung von Hutool für die Verarbeitung von Werkzeugklassen in der Java-API-Entwicklung Verwendung von Hutool für die Verarbeitung von Werkzeugklassen in der Java-API-Entwicklung Jun 17, 2023 pm 10:53 PM

Wenn Java-Entwickler APIs entwickeln, müssen sie sich häufig mit verschiedenen Toolklassen befassen, was Entwicklungszeit sparen und die Wiederverwendbarkeit des Codes verbessern kann. Hutool ist eine Java-Toolbibliothek, die eine Fülle von Toolklassen und häufig verwendeten Algorithmen bereitstellt, die die Effizienz der API-Entwicklung verbessern können. Hutool unterstützt Java 8 und höher und kann problemlos in verschiedenen Szenarien verwendet werden, z. B. Zeichenfolgenverarbeitung, Datums- und Uhrzeitverarbeitung, Ver- und Entschlüsselung, Dateioperationen usw. Im Folgenden sind einige häufig verwendete Funktionen aufgeführt. Saitenverarbeitungshütte

So erhalten Sie Kartenelemente in der Go-Sprache So erhalten Sie Kartenelemente in der Go-Sprache Jan 16, 2023 am 10:38 AM

Zwei Methoden: 1. Verwenden Sie die Anweisung „for range“, um die Karte zu durchlaufen und alle Elemente mit der Syntax „for key, value := range mapName{...}“ zu erhalten. 2. Verwenden Sie den Schlüssel als Index, um das angegebene Element abzurufen. Die Syntax lautet „Wert, isOk: = Kartenname [Schlüssel]“. Geben Sie zwei Rückgabewerte zurück. Der erste Rückgabewert ist der erhaltene Wert. Wenn der Schlüssel nicht vorhanden ist, wird zurückgegeben leerer Wert, der zweite Parameter ist ein Bool-Wert, der angibt, ob der Wert erfolgreich abgerufen wurde.

See all articles