HashMap Duplikate

Benutzer187

Aktives Mitglied
Hallo,
ich muss eine XML auslesen, den Inhalt der Attribute in einer HashMap speichern und dann ausgeben.

Mein Problem ist nun, dass in der XML auch doppelte Values vorkommen, die dann jeweils die Vorherigen ersetzen.

Gibt es eine Möglichkeit, dass ich alle Values ausgeben kann, sodass sie sich nicht gegenseitig ersetzen?
 
Bei einer HashMap hast Du jeden Key nur einmal. Also musst Du entweder der Key modifizieren oder den Typ des Wertes anpassen. (Also wenn zu einem Key mehrere Werte vorkommen können, dann wäre evtl der Value eine List mit den Werten.)
 
Bei einer HashMap hast Du jeden Key nur einmal. Also musst Du entweder der Key modifizieren oder den Typ des Wertes anpassen. (Also wenn zu einem Key mehrere Werte vorkommen können, dann wäre evtl der Value eine List mit den Werten.)

Okay, danke erstmal. Nur habe ich keine Ahnung wie ich das machen soll.

Die XML die ich bekomme sieht ungefähr so aus (gekürzt):

XML:
<results>
    <first_results>
        <eins>4</eins>
        <zwei>http://blablabla.de/BASE</zwei>
    </first_results>
    <second_results>
        <eins>4</eins>
        <zwei>http://blablabla.de/DVLP</zwei>
    </second_results>
</results>

Könntest du / jemand anderes es mir unter anderem daran ein wenig veranschaulichen, sodass der Inhalt (also jeweils <eins> und <zwei>) von <first_results> und <second_results> ausgegeben wird?
 
Also ich verstehe immer noch nicht, was eigentlich Dein Ziel ist. Wenn es nur einfach eine Text-Ausgabe ist, dann wäre es evtl. einfach, hier ein Transformation mit XSLT zu machen.

Aber ansonsten kann man Daten in einer Objekthierarchie aufbauen. Also z.B. eine Klasse Results mit eins und zwei als Instanzvariablen. Und dann z.B. wie von @mrBrown vorgeschlagen: Eine Liste daraus.

Man kann aber auch generischer sein - man kann das XML tatsächlich in eine flache Struktur pressen. Dann hätte man eine HashMap z.B. aus
"/results/first_results/eins" -> "4"
"/results/first_results/zwei" -> "http://blablabla.de/BASE"
"/results/second_results/eins" -> "4"
"/results/second_results/zwei" -> "http://blablabla.de/DVLP"
u.s.w.

Aber evtl. reicht auch einfach, das XML zu lesen um dann die gelesene DOM Struktur zu nutzen?
 

Zurück
Oben