Mehrfachvariablen in Java durch XML

MiMa

Top Contributor
Hallo,

ich habe es jetzt geschafft aus einer XML-Datei mit SAX Informationen zu entnehmen und diese dann in Instanzvariablen zu schreiben.

Soweit klappt alles ganz gut, das Problem ist, das es vorkommen kann das zu einer Variablendefinition zwei Werte enthalten sein können.

Auszug aus der XML Datei ist mit TAG 490 CODE a "490a" definiert, welches die ISBD enthält.

[XML]
<slim:datafield tag="490" ind1="0" ind2=" ">
<slim:subfield code="a">Studium</slim:subfield>
</slim:datafield>
<slim:datafield tag="490" ind1="0" ind2=" ">
<slim:subfield code="a">Online plus</slim:subfield>
</slim:datafield>
[/XML]

Das bedeutet die Instanzvariable ISBD enthält zwei Werte.

Die Frage ist ist jetzt wie man das in Java realisiert.
Da SAX ja immer nur Zeilenweise einliesst weiss es nicht, was noch kommen wird!

Wenn ein zweites mal datafield mit dem Attribut 490a kommt, werden die Inhalte der ersten überschrieben.

Nimmt man da Array Liste mit zwei geschachtelten Arrays für den Tag "490a" und "Studium" und durchsucht das Array am ende des XML-Dokumentes, ob es tags gibt, die mehrmals enthalten sind und arbeitet auf diese Weise?

Oder schreibt man temporäre Variablen mit einem fortlaufenden Zähler?
Variable Inhalt
490a1 "Studium"
490a2 "Online plus"

Vielen Dank
Mi
 
T

tuxedo

Gast
So z.B.:

DataField --> Ein Objekt namens Datafield mit Instanzvariablen für: tag, ind1 und ind2, sowie subfield, welches von folgendem Typ ist:

Subfield --> Ein Objekt namens Subfield, mit Instanzvariablen code und "name"

Da ja mehrere DataField Tags im XML vorkommen, solltest du die beim auslesen in eine List<DataField> stecken. Fertig.

- Alex
 

MiMa

Top Contributor
Vielen Dank,

das werde ich so mal machen.
Da ich ja noch Einsteiger bin, wird dir Rückmeldung ein bisschen dauen.

Mi
 

MiMa

Top Contributor
Hi,

als ich das realisieren wollte, habe ich lange darüber nachgedacht.
Du hast vorgeschlagen, Objekte zu erstellen "datafieldObjekt" mit den Inhalten tag, ind1 und ind2.
Ein weiteres Objekt "subfield" mit den Inhalten code und name.

Dann würde ich folgende Objekte erhalten:

..
...
datafieldObjekt0: 490, " ", " "
subfieldObjekt0: a, Studium
datafieldObjekt1: 490, " ", " "
subfieldObjekt1: a, Online plus
...
..

Das würde aber nicht viel bringen, da ich mehrere 490 habe mit leeren ind1 und ind2.
ind1 und ind2 sind absolut unwichtig, weil dort kaum etwas sinnvolles für enthalten sind.

Das datafield+subfield gehören zusammen und ergeben den Steuercode.
Nur zusammen aus tag+code ="490a" ergibt den Inhalt ISDB

Also wäre es nicht sinnvoll nur ein Objekt zu machen?
Objekt "xmlInhaltObjekt" mit den Inhalten tag(490) code(a) name(Studium)

Dann würde ich folgende Objekte erhalten bei der Betrachtung aller benötigten Daten aus dem XML:

xmlInhaltObjekt0: 020, a, 9783834805690
xmlInhaltObjekt1: 245, a, Algorithmen kompakt und verständlich
xmlInhaltObjekt2: 245, b, Lösungsstrategien am Computer
xmlInhaltObjekt3: 245, c, Markus von Rimscha
xmlInhaltObjekt4: 250, a, 1. Aufl.
xmlInhaltObjekt5: 260, a, Wiesbaden
xmlInhaltObjekt6: 260, b, Vieweg + Teubner
xmlInhaltObjekt7: 260, c, 2008
xmlInhaltObjekt8: 300, a, VIII, 144 S.
xmlInhaltObjekt9: 300, b, Ill., graph. Darst.
xmlInhaltObjekt10: 300, c, 24 cm
xmlInhaltObjekt11; 490, a, Studium
xmlInhaltObjekt12: 490, a, Online plus
xmlInhaltObjekt13: 856, u, http://d-nb.info/989219313/04

Dabei wäre auch zu überlegen, ob ich dann nicht noch den Steuercode als eigene Variable hinzufüge die dann den Inhalt "020a", "245a", .... besitzt. Das wäre für die Prüfung vielleicht besser?

Doppelte Einträge wie die "490a" werden nur richtig erkannt wenn der code dabei ist.
Ansonsten würden 245 alles doppelte ergeben, aber keine sind, wenn der code fehlt.

Mi
 

MiMa

Top Contributor
Hi,

so ich habe mal folgendes Umgesetzt, Auszug:

Java:
if ("020".equals(bufferNummer))
		{
			if ("a".equals(bufferCode))
			{
				mark21Objekt.setTag(bufferNummer);
				mark21Objekt.setCode(bufferCode);
				mark21Objekt.setInhalt(zeichenkette);
				mark21Objekt.setSteuercode(bufferNummer+bufferCode);
			} 
			else if ....

Ergibt folgende Ausgabe:

Mark21 Objekt Tag: 020
Mark21 Objekt Code: a
Mark21 Objekt Inhalt: 9783834805690
Mark21 Objekt steuercode: 020a

Wobei ich weder den tag noch den code benötige und dann nur den Steuercode und den Inhalt verwende.

Die Objekte würden dann wie folgt kreiert werden:

..
...
mark21Objekt: 020a, 9783834805690
...
..

Was vollkommen ausreicht.

Allerdings habe ich folgendes Problem:

Code:
public class Marc21Parser
{
   Erstelle hier buchObjekt

   public void startDocument()
   public void startElement()
   public void characters(...)
   {
        Hier werden die codes Tags und Inhalte generiert
        wenn ich hier die Marc21Objekte erstelle, kommen die zwar alle in das eine buchObjekt
        aber kann nicht mehr auf die Marc21Objekte ausserhalb dieser Methode zugreifen

        Überlegung wäre, an dieser Stelle, die Inhalte dann direkt in die MySQL Datenbank zu
        schreiben ??
   }

   public void endElement(...)
   public void endDocument()
   {
         Hier könnte ich nicht mehr auf die Marc21 Objekt zugreifen
    }
}

Danke

Mi
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W jaxws jaxb wsdl Java-Klassen generieren und binding.xml verwenden XML & JSON 1
iman XML Attribute mit JAVA einlesen mit Spring Batch XML & JSON 0
T Tags in XML Datei mit Java erstellen XML & JSON 3
E JAXB und java.nio.file.Path XML & JSON 4
B XML-Daten mit SAX Parser verarbeiten in Java XML & JSON 4
S Java REST Client + Json XML & JSON 8
L Lässt sich folgendes so oder so ähnlich mit Java und XML umsetzen XML & JSON 3
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
L login - Java IOException jaas.config File or Directory not present XML & JSON 1
M Text eines Elements in XML Datei mit JAVA bearbeiten und kompletten Element-Zweig hinzufügen XML & JSON 16
J JSON zu Java mit der GSON Google API XML & JSON 0
B JAXB - java.util.Locale does not have a no-arg default constructor XML & JSON 2
E JAVA simple.JSONObject cannot be cast to simple.JSONArray XML & JSON 9
P Einheiten in Java XML & JSON 4
T Visualisierung von XML Dateien in einer Java SwingGui XML & JSON 11
A WSDL und Java XML & JSON 5
A XMLRPC für Java XML & JSON 3
S XML auf Java Klassen Mappen XML & JSON 10
N Java XML schreiben funktioniert nicht XML & JSON 1
B aus xsd Java Klassen generieren XML & JSON 3
Q XML-File als Objekt in Java XML & JSON 6
Q Konvertierung von json zum Java Objekt nach vorgegebenem Schema XML & JSON 3
AMStyles XPATH Befehl SVG Java XML & JSON 2
S Wie aktualisiert man den Java-Kode mit FOP1.0? XML & JSON 1
L XSL: Aufruf Java-class XML & JSON 11
N Java Code aus XML Datei generieren XML & JSON 8
GUI-Programmer java.io.File aus .jar beziehen XML & JSON 6
A Unterschiedliche Datenstruktur XML <-> Java mappen XML & JSON 9
R XSD aus Java Klassen erzeugen?? XML & JSON 2
N xsd pattern in java einlesen XML & JSON 6
M java.lang.RuntimeException: Failed to parse document XML & JSON 4
F SOAP in Java XML & JSON 6
Q Atom/RSS-Feed lesen - per XSD zu Java-Code XML & JSON 4
S JAXB 2 und Java Annotationen/Interfaces generieren XML & JSON 3
N Google Wetter XML (nur current_condition) auslesen mit Java XML & JSON 15
F Einlesen von JDBC connection in Java von XML XML & JSON 4
D xsd->java mit Eclipse?! oder wie? XML & JSON 27
M Probleme mit XPath bei Java XML & JSON 5
_dp Java XML Parse error: findet end-tags nicht XML & JSON 10
V JAXB schema 2 java XML & JSON 3
S XJC --> Java-Objects compile Problem XML & JSON 4
G Mit JSON Java und C# verbinden XML & JSON 4
K XML Datei in ein Java package „einbinden" XML & JSON 3
H Java - XML - Rekursion - Verwirrung XML & JSON 6
F XML Datei in Java einlesen XML & JSON 4
J XSD > XML > Java XML & JSON 7
F XML mit Java XML & JSON 2
algorismi SVG Datein mit Batik in Java reinladen XML & JSON 3
S Java - Klassen erzeugen aus xsd bzw. wsdl XML & JSON 3
D ID's aus XML Datei rauslesen und in Java ausgeben XML & JSON 7
N value Wert einer XML Datei mit JAVA bearbeiten XML & JSON 21
Mike90 -xlsx Dateien in Java lesen XML & JSON 3
T StAX / SAX => Wie XML Datenstruktur in Java abbilden? XML & JSON 2
H XML plattformunabhängig/Open Source für Java XML & JSON 4
C Java-Imports bei Jaxb XML & JSON 8
slawaweis Problem mit XSLT (wahrscheinlich ein Bug in Java 6) XML & JSON 16
Fadi .classpath(XML) mit Java lesen XML & JSON 2
M Frage zu Erklärung im Online book "Java ist auch eine I XML & JSON 4
M Problem mit FOP in Java Programm XML & JSON 2
H Fop / Java /Fonts XML & JSON 6
H XSL Aufruf via Java mit neuen Fonts XML & JSON 9
T Java Klasse für gegebenes XML erstellen XML & JSON 4
M Xlink in Java-Objekt umwandeln XML & JSON 9
S Jdom+java webstart XML & JSON 4
P Einstieg in XML mit Java XML & JSON 3
G MS-Word Dokument mit Java erstellen XML & JSON 2
N AXIOM mit Java 1.4 XML & JSON 4
J DTD in Java integrieren? XML & JSON 3
L XML Datei in Java angeben Pfad? XML & JSON 3
G Problem mit XML-Schema Validierung mit Java XML & JSON 12
G XML mit JAVA an URL senden (http post) XML & JSON 12
D Java DOM Ausgabe ohne XML header XML & JSON 4
S XML Strings in JAVA einlesen, aber wie? XML & JSON 8
S Java 6 und Xerces-j-2-9 XML & JSON 3
E XML mit java einlesn XML & JSON 2
L mit Java eine HTML-Datei erstellen XML & JSON 3
O OpenDocument-Tabelle mit Java lesen und schreiben XML & JSON 3
G JAVA und DOM XML & JSON 2
M Java und XSLT: Performanz-Problem XML & JSON 5
P DTD -> Java XML & JSON 4
K xml --> sax --> java objekthierarchie XML & JSON 2
B DTD aus Java erzeugen XML & JSON 2
S JAVA XML Parser der einen String parst XML & JSON 3
K java + xpath -> performanceproblem XML & JSON 9
J schema-Validierung mit xerces und jdom: bug in java 1.4? XML & JSON 9
A Kann XML weitere XMLs inkludieren? Oder kann es Java? XML & JSON 5
vogella *Erledigt* XML und Java DOM Tutorial XML & JSON 3
T SOAP mit Java ohne HTTP Server möglich? XML & JSON 3
C HTML-Befehle per Java entfernen XML & JSON 7
W Java und XML - help request XML & JSON 3
M [SOLVED]Ausgabe mit Java XML & JSON 2
P Unterschiede java 1.4 und 1.3 XML & JSON 3
M generate SVG with java XML & JSON 2
G java+xml mit dom4j XML & JSON 4
P XSLT in Java verwenden XML & JSON 7
M Auswertung arithmetischer Ausdrücke mit SAX und Java XML & JSON 7
S XMl Dateien in Java schreiben XML & JSON 4
B XML-Document mit Java erzeugen und zuruecksenden XML & JSON 1
J Beispiel aus Java Magazin 03/2004 gesucht ! XML & JSON 6
R java.net.MalformedURLException: no protocol . XML & JSON 12

Ähnliche Java Themen

Neue Themen


Oben