Ich muss keine komplexen XML-Dateien lesen. Ich möchte nur die folgende Konfigurationsdatei mit einem einfachen XML-Reader lesen
%Vor%Wie lese ich die obige XML-Datei mit einem XML-Reader über Java?
Da Sie Konfigurationsdateien parsen möchten, wäre commons-configuration die beste Lösung.
Commons Configuration bietet eine generische Konfigurationsschnittstelle, die es einer Java-Anwendung ermöglicht, Konfigurationsdaten aus verschiedenen Quellen (einschließlich XML) zu lesen
Wenn Sie nur eine einfache Lösung benötigen, die im Java SDK enthalten ist (seit 5.0), sehen Sie sich das XPath-Paket an. Ich bin mir sicher, dass andere besser funktionieren, aber das war alles was ich brauchte. Hier ist ein Beispiel:
%Vor%strings.xml
%Vor%Es gibt mehrere XML-Parser für Java. Eine, die ich besonders entwicklerfreundlich verwendet und gefunden habe, ist JDOM . Und mit entwicklerfreundlich meine ich "java-orientiert" (d. H. Sie arbeiten mit Objekten in Ihrem Programm) statt "dokumentenorientiert", wie es einige andere Werkzeuge sind.
Ich würde Commons Digester
empfehlen, mit dem Sie eine Datei analysieren können, ohne große Mengen an Code zu schreiben. Es verwendet eine Reihe von Regeln, um zu bestimmen, welche Aktion ausgeführt werden soll, wenn ein bestimmtes Element oder Attribut gefunden wird (eine typische Regel könnte das Erstellen eines bestimmten Geschäftsobjekts sein).
Für einen ähnlichen Anwendungsfall in meiner Anwendung habe ich JaxB verwendet. Mit Jaxb ist das Lesen von XML-Dateien wie die Interaktion mit Java-POJOs. Um JAXB zu verwenden, benötigen Sie das xsd für diese XML-Datei. Sie können nach weiteren Informationen suchen hier
Obwohl ich XPath noch nicht ausprobiert habe, da es gerade zu meiner Aufmerksamkeit gekommen ist, habe ich ein paar Lösungen ausprobiert und nichts gefunden, was für dieses Szenario funktioniert.
Ich habe beschlossen, eine Bibliothek zu erstellen, die diese Anforderung erfüllt, solange Sie unter den in der Readme genannten Annahmen arbeiten. Es hat den Vorteil, dass es SAX verwendet, um die gesamte Datei zu analysieren und sie dem Benutzer in Form einer Karte zurückzugeben, so dass Sie Werte als Schlüssel suchen können - & gt; Wert.
Wenn etwas fehlt, informiere mich bitte über den fehlenden Gegenstand, da ich ihn nur auf der Grundlage der Bedürfnisse anderer und meiner selbst entwickle.