Hi,
ich möchte aus einer XML Datei ein Menu erstellten, dazu möchte ich den SAX Parser nutzen.
Die XML-Datei hat einmal die Elemente “menu”, “submenu” und “menuitem”.
Meine Idee ist jetzt die XML-Datei so zu parsen, dass für jeden “submenu” eine ArrayList erstellt wird, die alle “menuitem” beinhaltet. Und dann das Menu mit den “submenu”-ArrayLists erstellen.
Meint ihr das meine Idee so richtig ist oder geht es irgendwie eleganter?
XML-File:
<?xml version="1.0" encoding="UTF-8"?>
<!--Aufbau Contextmenu für Auswahl Werte -->
<menu xsi:noNamespaceSchemaLocation="Untitled1.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<menuitem tableColumn="messdaten.energie" labelName="Energie"/>
<menuitem tableColumn="messdaten.leistung" labelName="Leistung"/>
<separator/>
<submenu labelName="Temperatur(Grad Celsius)">
<menuitem tableColumn="messdaten.gent" labelName="Generator"/>
<menuitem tableColumn="messdaten.gent2" labelName="Generator 2"/>
<menuitem tableColumn="messdaten.lagert" labelName="Lager"/>
<menuitem tableColumn="messdaten.lagert2" labelName="Lager 2"/>
<menuitem tableColumn="messdaten.aussent" labelName="Aussentemperatur"/>
<menuitem tableColumn="messdaten.getrt" labelName="Getriebe"/>
<menuitem tableColumn="messdaten.temp_gondel" labelName="Gondel"/>
<menuitem tableColumn="messdaten.temp_kuehlwasser" labelName="Kühlwasser"/>
<menuitem tableColumn="messdaten.temp_generatorlager" labelName="Generatorlager"/>
<menuitem tableColumn="messdaten.temp_spinner" labelName="Spinner"/>
<menuitem tableColumn="messdaten.temp_hydraulik" labelName="Hydraulik"/>
<menuitem tableColumn="messdaten.temp_schleifring" labelName="Schleifring"/>
<menuitem tableColumn="messdaten.temp_busbarsec" labelName="Busbarsection"/>
<menuitem tableColumn="messdaten.temp_hub_controller" labelName="Hub Controller"/>
<menuitem tableColumn="messdaten.temp_top_steuerung" labelName="Top Steuerung"/>
<menuitem tableColumn="messdaten.temp_trafo_phase_1" labelName="Trafo Phase 1"/>
<menuitem tableColumn="messdaten.temp_trafo_phase_2" labelName="Trafo Phase 2"/>
<menuitem tableColumn="messdaten.temp_trafo_phase_3" labelName="Trafo Phase 3"/>
<menuitem tableColumn="messdaten.temp_geno_phase_2" labelName="Generator Phase 2"/>
<menuitem tableColumn="messdaten.temp_geno_phase_3" labelName="Generator Phase 3"/>
<menuitem tableColumn="messdaten.temp_geno_lager_b" labelName="Generator Lager b"/>
<menuitem tableColumn="messdaten.temp_pitch_motor_1" labelName="Pitch Motor 1"/>
<menuitem tableColumn="messdaten.temp_pitch_motor_2" labelName="Pitch Motor 2"/>
<menuitem tableColumn="messdaten.temp_pitch_motor_3" labelName="Pitch Motor 3"/>
<menuitem tableColumn="messdaten.temp_pitch_box_1" labelName="Pitch Box 1"/>
<menuitem tableColumn="messdaten.temp_pitch_box_2" labelName="Pitch Box 2"/>
<menuitem tableColumn="messdaten.temp_pitch_box_3" labelName="Pitch Box 3"/>
<menuitem tableColumn="messdaten.temp_turm_unten" labelName="Turm unten"/>
<menuitem tableColumn="messdaten.temp_turm_oben" labelName="Turm oben"/>
<menuitem tableColumn="messdaten.temp_lager_lw_rotor" labelName="Lager lw Rotor"/>
<menuitem tableColumn="messdaten.temp_lager_lw_gen" labelName="Lager lw Generator"/>
<menuitem tableColumn="messdaten.temp_lager_sw_rotor" labelName="Lager sw Rotor"/>
<menuitem tableColumn="messdaten.temp_lager_sw_gen" labelName="Lager sw Generator"/>
<menuitem tableColumn="messdaten.temp_lager_zw" labelName="Lager zw"/>
<menuitem tableColumn="messdaten.temp_getr_oel_kuehl" labelName="Getriebe Öl Kühlung"/>
<menuitem tableColumn="messdaten.temp_rotor_bremse" labelName="Rotor Bremse"/>
</submenu>
<submenu labelName="Kilowatt(kW)">
<menuitem tableColumn="messdaten.energie" labelName="Energie"/>
<menuitem tableColumn="messdaten.leistung" labelName="Leistung"/>
<menuitem tableColumn="messdaten.gen_leistung" labelName="Generator Leistung"/>
<menuitem tableColumn="messdaten.gen_scheinleistung" labelName="Generator Scheinleistung"/>
<menuitem tableColumn="messdaten.gen_blindleistung" labelName="Generator Blindleistung"/>
<menuitem tableColumn="messdaten.prod1" labelName="Produktion 1"/>
<menuitem tableColumn="messdaten.prod2" labelName="Produktion 2"/>
<menuitem tableColumn="messdaten.prod_ges" labelName="Produktion Gesamt"/>
<menuitem tableColumn="messdaten.abgab" labelName="Abgabe"/>
<menuitem tableColumn="messdaten.bezug" labelName="Bezug"/>
</submenu>
<separator/>
<submenu labelName="Windgeschwindigkeit(m/s)">
<menuitem tableColumn="messdaten.wind_geschw" labelName="Windgeschwindigkeit"/>
<menuitem tableColumn="messdaten.wind_geschw_az" labelName="Windgeschwindigkeit Azimut"/>
<menuitem tableColumn="messdaten.wind_geschw_mittel" labelName="Windgeschwindigkeit Mittel"/>
<menuitem tableColumn="messdaten.wind_geschw_aneo_1" labelName="Windgeschwindigkeit Anemometer 1"/>
<menuitem tableColumn="messdaten.wind_geschw_aneo_2" labelName="Windgeschwindigkeit Anemometer 2"/>
</submenu>
<separator/>
<submenu labelName="Windrichtung(rpm)">
<menuitem tableColumn="messdaten.wind_richtung_gondel" labelName="Windrichtung Gondel"/>
<menuitem tableColumn="messdaten.wind_richtung_gondel_abs" labelName="Windrichtung ABS"/>
<menuitem tableColumn="messdaten.wind_richtung_absolut" labelName="Windrichtung Absolut"/>
<menuitem tableColumn="messdaten.wind_richtung_relativ" labelName="Windrichtung Relativ"/>
<menuitem tableColumn="messdaten.wind_richtung_fahne_1" labelName="Windrichtung Fahne 1"/>
<menuitem tableColumn="messdaten.wind_richtung_fahne_2" labelName="Windrichtung Fahne 2"/>
<menuitem tableColumn="messdaten.azimut" labelName="Azimut"/>
</submenu>
<separator/>
<submenu labelName="Umdrehungen(rpm)">
<menuitem tableColumn="messdaten.rpm_gen" labelName="Generator "/>
<menuitem tableColumn="messdaten.rpm_rotor" labelName="Rotor"/>
</submenu>
<separator/>
<submenu labelName="Anstellwinkel(Grad)">
<menuitem tableColumn="messdaten.pitch" labelName="Pitch"/>
<menuitem tableColumn="messdaten.pitch_2" labelName="Pitch 2"/>
<menuitem tableColumn="messdaten.pitch_3" labelName="Pitch 3"/>
</submenu>
<separator/>
<submenu labelName="Stunden">
<menuitem tableColumn="messdaten.stunden_betrieb" labelName="Betriebsstunden"/>
<menuitem tableColumn="messdaten.stunden_netz_ok" labelName="Netz Ok"/>
<menuitem tableColumn="messdaten.stunden_service" labelName="Service"/>
<menuitem tableColumn="messdaten.stunden_drehen" labelName="Drehen"/>
<menuitem tableColumn="messdaten.stunden_spannung_an" labelName="Spannung an"/>
<menuitem tableColumn="messdaten.stunden_umgebung_ok" labelName="Umgebung Ok"/>
<menuitem tableColumn="messdaten.stunden_summe" labelName="Summe"/>
<menuitem tableColumn="messdaten.stunden_total" labelName="Total"/>
<menuitem tableColumn="messdaten.btrstd1" labelName="Betriebsstunden 1"/>
<menuitem tableColumn="messdaten.btrstd2" labelName="Betriebsstunden 2"/>
</submenu>
<separator/>
<submenu labelName="Spannung(Volt)">
<menuitem tableColumn="messdaten.spann1" labelName="Spannung 1"/>
<menuitem tableColumn="messdaten.spann2" labelName="Spannung 2"/>
<menuitem tableColumn="messdaten.spann3" labelName="Spannung 3"/>
</submenu>
<separator/>
<submenu labelName="Strom(Ampere)">
<menuitem tableColumn="messdaten.strom1" labelName="Strom 1"/>
<menuitem tableColumn="messdaten.strom2" labelName="Strom 2"/>
<menuitem tableColumn="messdaten.strom3" labelName="Strom 3"/>
</submenu>
<separator/>
<submenu labelName="Blindenergie(var)">
<menuitem tableColumn="messdaten.zaehler_blindenergie_gen_0" labelName="Zähler Generator Blindenergie 0"/>
<menuitem tableColumn="messdaten.zaehler_blindenergie_gen_1" labelName="Zähler Generator Blindenergie 1"/>
<menuitem tableColumn="messdaten.zaehler_blindenergie_gen_2" labelName="Zähler Generator Blindenergie 2"/>
<menuitem tableColumn="messdaten.zaehler_blindenergie_prod" labelName="Zähler Generator Produktion"/>
</submenu>
<separator/>
<menuitem tableColumn="messdaten.cosph" labelName="Cosinus Phi"/>
<menuitem tableColumn="messdaten.gen_frequenz" labelName="Frequenz(Hz)"/>
</menu>