Hallo!
Ich habe ein Programm geschrieben welches alle IDs einer XML-Datei ausliest und dann in einer Liste abspeichert.
XML:
[XML]<?xml version="1.0" encoding="utf-8"?>
<Irgendwas xmlns:xsd="abc">
<Schulgruppe groupId="Schulgruppe1234" alias="Schul Gruppe">
<Schule>
<Klassen id="Klasse--0" Klassenname="Klasse123">
<Namen>
<Name id="Name--00""/>
<Name id="Name--01""/>
<Name id="Name--02"/>
<Name id="Name--03"/>
</Namen>[/XML]
Mein Javacode sieht in etwa so aus:
Das sind zwar nicht meine Originaldateien aber damit kann ich aufzeigen was mein Problem ist.
Und zwar habe ich nicht nur eine sondern mehrere "Klassen" in der XML-Datei. Wenn ich jetzt über die XML-Datei iteriere liest er mir alle Namen für beide Klassen aus.
**Kleine Anmerkung zum Java Code
Ich hatte es vorher wie es hier steht, jetzt ist die zweite Schleife losgelöst von der Ersten, sonst bekomme ich multiple Ergebnisse da jedes mal wenn eine KlassenID ausgelesen wird ALLES darauf folgende in die Listen geschmettert wird.
Ziel:
Ich lese alle IDs für eine Klasse aus, speichere die Namen mitsamt KlassenID in eine Liste und dann gehe ich zur nächsten Klasse und lese alle IDs der Namen aus und speichere diese mit der KlassenID.
Also sowas wie:
Name--00, Klasse--0
Name--01, Klasse--0
Name--02, Klasse--0
Name--10, Klasse--1
Name--20, Klasse--1
Name--30, Klasse--1
Wüsste jemand eine Idee wie ich das hinbasteln könnte?
Meine Importe sind im JAVA-Code enthalten.
Ich habe ein Programm geschrieben welches alle IDs einer XML-Datei ausliest und dann in einer Liste abspeichert.
XML:
[XML]<?xml version="1.0" encoding="utf-8"?>
<Irgendwas xmlns:xsd="abc">
<Schulgruppe groupId="Schulgruppe1234" alias="Schul Gruppe">
<Schule>
<Klassen id="Klasse--0" Klassenname="Klasse123">
<Namen>
<Name id="Name--00""/>
<Name id="Name--01""/>
<Name id="Name--02"/>
<Name id="Name--03"/>
</Namen>[/XML]
Mein Javacode sieht in etwa so aus:
Java:
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathException;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
for (int iKlassen = 0; iKlassen < nodesKlassen.getlength(); iKlassen++) {
list = (objektXYZ.tuIrgendeineMethode(nodeKlassen.getAttributes().getNamedItem.("id").getTextContent)
for(int iNamen = 0; iNamen < nodesNamen.getlength(); iNamen++) {
list = (objektXYZ.tuIrgendeineAndereMethode(nodeKlassen.getAttributes().getNamendItem.("id").getTextContent, iKlassen);
}
}
Das sind zwar nicht meine Originaldateien aber damit kann ich aufzeigen was mein Problem ist.
Und zwar habe ich nicht nur eine sondern mehrere "Klassen" in der XML-Datei. Wenn ich jetzt über die XML-Datei iteriere liest er mir alle Namen für beide Klassen aus.
**Kleine Anmerkung zum Java Code
Ich hatte es vorher wie es hier steht, jetzt ist die zweite Schleife losgelöst von der Ersten, sonst bekomme ich multiple Ergebnisse da jedes mal wenn eine KlassenID ausgelesen wird ALLES darauf folgende in die Listen geschmettert wird.
Ziel:
Ich lese alle IDs für eine Klasse aus, speichere die Namen mitsamt KlassenID in eine Liste und dann gehe ich zur nächsten Klasse und lese alle IDs der Namen aus und speichere diese mit der KlassenID.
Also sowas wie:
Name--00, Klasse--0
Name--01, Klasse--0
Name--02, Klasse--0
Name--10, Klasse--1
Name--20, Klasse--1
Name--30, Klasse--1
Wüsste jemand eine Idee wie ich das hinbasteln könnte?
Meine Importe sind im JAVA-Code enthalten.