XML Attribute mit JAVA einlesen mit Spring Batch

iman

Aktives Mitglied
Hallo Leute. Ich bin dabei eine Größe XML Datei mit JAVA einlesen und in eine Datenbank speichern. Ich benutze dazu Spring Batch.
Ich habe Zwei Problemen. erste : Ich kann nicht Die Attribute in XML als Datei in Datenbank speichern. Ich denke es liest überhaupt nicht die Attribute.
2 : genaue wie Problem 1. aber mit Child Tags .

Hier ist die Java Code für Objecten.
Java:
import java.sql.Date;
import java.util.List;

import org.springframework.lang.Nullable;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamImplicit;

@XStreamAlias("beruf")
public class BerufXml {

    @XStreamAsAttribute
    @XStreamAlias("bezeichnung_nk")
    private String bezeichnung;

    private String bezeichnung_nk;

    private String bezeichnung_nl;
    @XStreamAlias("id")
    private float codeba;

    @XStreamAlias("ausbildung")
    private int ausbildung;

    private int kundenid;

    private int internalonly;

    private int berufsgrupperef;

    @Nullable
    private String berufskennzeichen;

    @XStreamAlias("lbkgruppe")
    @XStreamImplicit
    private List<String> lbkgruppes;

    @XStreamAlias("typ")
    private String typ;

    // @XStreamAlias("hochschulberuf")
    private String hochschulberuf;

    @Nullable
    private Date prufungtermin;

    @XStreamAsAttribute
    @XStreamAlias("qualifikationsNiveaus")
    @XStreamImplicit
    private List<String> qualifikationsNiveaus;

    @XStreamAlias("ebene")
    private int ebene;

    @XStreamAlias("zustand")
    private String zustand;

    @XStreamAlias("kuenstler")
    private String kuenstler;

    @XStreamAlias("suchname_nl")
    private String suchname_nl;

    public int getEbene() {
        return ebene;
    }

    public void setEbene(int ebene) {
        this.ebene = ebene;
    }

    public String getSuchname_nl() {
        return suchname_nl;
    }

    public String setSuchname_nl(String suchname_nl) {
        return suchname_nl;
    }

    public String getKuenstler() {
        return kuenstler;
    }

    public String setKuenstler(String kuenstler) {
        return kuenstler;
    }

    public String getZustand() {
        return zustand;
    }

    public String setZustand(String zustand) {
        return zustand;
    }

    public String getBezeichnung() {
        return bezeichnung;
    }

    public void setBezeichnung(String bezeichnung) {
        this.bezeichnung = bezeichnung;
    }

    public String getTyp() {
        return typ;
    }

    public void setTyp(String typ) {
        this.typ = typ;
    }

    public float getCodeba() {
        return codeba;
    }

    public void setCodeba(float codeba) {
        this.codeba = codeba;
    }

    public int getAusbildung() {
        return ausbildung;
    }

    public void setAusbildung(int ausbildung) {
        this.ausbildung = ausbildung;
    }

    public int getKundenid() {
        return kundenid;
    }

    public void setKundenid(int kundenid) {
        this.kundenid = kundenid;
    }

    public int getInternalonly() {
        return internalonly;
    }

    public void setInternalonly(int internalonly) {
        this.internalonly = internalonly;
    }

    public int getBerufsgrupperef() {
        return berufsgrupperef;
    }

    public void setBerufsgrupperef(int berufsgrupperef) {
        this.berufsgrupperef = berufsgrupperef;
    }

    public List<String> getQualifikationsNiveaus() {
        return qualifikationsNiveaus;
    }

    public void setQualifikationsNiveaus(List<String> qualifikationsNiveaus) {
        this.qualifikationsNiveaus = qualifikationsNiveaus;
    }

    public String getbezeichnung_nk() {
        return bezeichnung_nk;
    }

    public void setbezeichnung_nk(String bezeichnung_nk) {
        this.bezeichnung_nk = bezeichnung_nk;
    }

    public String getBezeichnung_nl() {
        return bezeichnung_nl;
    }

    public void setBezeichnung_nl(String bezeichnung_nl) {
        this.bezeichnung_nl = bezeichnung_nl;
    }

    public String getBerufskennzeichen() {
        return berufskennzeichen;
    }

    public void setBerufskennzeichen(String berufskennzeichen) {
        this.berufskennzeichen = berufskennzeichen;
    }

    public Date getPrufungtermin() {
        return prufungtermin;
    }

    public String getHochschulberuf() {
        return hochschulberuf;
    }

    public void setHochschulberuf(String hochschulberuf) {
        this.hochschulberuf = hochschulberuf;
    }

    public void setPrufungtermin(Date prufungtermin) {
        this.prufungtermin = prufungtermin;
    }

    public List<String> getLbkgruppes() {
        return lbkgruppes;
    }

    public void setLbkgruppes(List<String> lbkgruppes) {
        this.lbkgruppes = lbkgruppes;
    }

    public String getBezeichnung_nk() {
        return bezeichnung_nk;
    }

    public void setBezeichnung_nk(String bezeichnung_nk) {
        this.bezeichnung_nk = bezeichnung_nk;
    }

    @Override
    public String toString() {
        return "Beruf [bezeichnung" + bezeichnung + ",codeba=" + codeba + ",ausbildung=" + ausbildung + ",kundenid="
                + kundenid + ",internalonly=" + internalonly + "" + ",berufsgrupperef=" + berufsgrupperef
                + ",berufskennzeichen=" + berufskennzeichen + ",lbkgruppes=" + lbkgruppes + ",hochschulberuf="
                + hochschulberuf + "qualifikationsNiveaus=" + qualifikationsNiveaus + ",bezeichnung_nk="
                + bezeichnung_nk + ",bezeichnung_nl=" + bezeichnung_nl + " ]";

    }
}

und hier die Preparetstatmentsetter :

Java:
public class BerufpreparedStatementSetter implements ItemPreparedStatementSetter<BerufXml> {

    @Override
    public void setValues(BerufXml beruf, PreparedStatement ps) throws SQLException {


        ps.setString(1, beruf.getBezeichnung_nk());
        ps.setFloat(2, beruf.getCodeba());
        ps.setString(3, beruf.getTyp());
        ps.setInt(4, "a".equalsIgnoreCase(beruf.getTyp()) ? 1 : 0);


        ps.setInt(5, beruf.getKundenid());
        ps.setInt(6, beruf.getInternalonly());
        ps.setInt(7, beruf.getBerufsgrupperef());
        ps.setString(8, beruf.getBerufskennzeichen());

        ps.setInt(9, "ja".equalsIgnoreCase(beruf.getHochschulberuf()) ? 1 : 0);
        ps.setString(10, beruf.getBezeichnung_nk());
        ps.setString(11, beruf.getBezeichnung_nl());
        ps.setDate(12, beruf.getPrufungtermin());

        ps.setInt(13, beruf.getEbene());
        ps.setString(14, beruf.getZustand());
        ps.setString(15, beruf.getKuenstler());
        ps.setString(16, beruf.getSuchname_nl());
    }
}

Und hier meine BatchConfig :


Java:
@Configuration
@EnableBatchProcessing
public class BatchConfig {

    @Autowired
    private JobBuilderFactory jobBuilderFactory;

    @Autowired
    private StepBuilderFactory stepBuilderFactory;

    @Autowired
    private DataSource datasource;

    @Bean
    public BerufItemProcessor processor() {

        return new BerufItemProcessor();
    }

    public static void setupDefaultSecurity(XStream xstream) {
        xstream.allowTypesByWildcard(new String[] { "com.datenbankberufe.model.**" });
    }

    @Bean
    public StaxEventItemReader<BerufXml> reader() {

        StaxEventItemReader<BerufXml> reader = new StaxEventItemReader<BerufXml>();
        reader.setResource(new ClassPathResource("vam_beruf_kurz.xml"));
        reader.setFragmentRootElementName("beruf");

        Map<String, String> aliasesMap = new HashMap<String, String>();
        aliasesMap.put("beruf", "com.datenbankberufe.model.BerufXml");
        aliasesMap.put("qualifikationsNiveau", "com.datenbankberufe.model.QualifikationsNiveau");
        XStreamMarshaller marshaller = new XStreamMarshaller();
        marshaller.setAliases(aliasesMap);
        marshaller.getXStream().allowTypesByWildcard(new String[] { "com.datenbankberufe.model.**" });
        marshaller.getXStream().processAnnotations(BerufXml.class);

        reader.setUnmarshaller(marshaller);
        return reader;

    }

    @Bean
    public JdbcBatchItemWriter<BerufXml> writer() {

        JdbcBatchItemWriter<BerufXml> writer = new JdbcBatchItemWriter<BerufXml>();
        writer.setDataSource(datasource);
        writer.setSql(
                "INSERT INTO beruf(bezeichnung,codeba,typ,ausbildung,kundenid,internalonly,berufsgrupperef,berufskennzeichen,hochschulberuf,bezeichnung_mk,bezeichnung_wk,prufungtermin,ebene,zustand,kuenstler,suchname_nl) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
        writer.setItemPreparedStatementSetter(new BerufpreparedStatementSetter());
        return writer;

    }

    @Bean
    public Step step1() {
        return stepBuilderFactory.get("step1").<BerufXml, BerufXml>chunk(100).reader(reader()).processor(processor())
                .writer(writer()).build();
    }

    @Bean
    public Job exportBerufJob() {

        return jobBuilderFactory.get("importBerufJob").incrementer(new RunIdIncrementer()).flow(step1()).end().build();

    }

}

Ich werde dankbar , wenn jemandem mir helfen kann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Transformer verschluckt Attribute bei der Ausgabe XML & JSON 3
W XML einlesen und Attribute auslesen XML & JSON 1
D Attribute aus XML Auslesen XML & JSON 5
P Xpath zugriff auf Attribute XML & JSON 3
R cvc-complex-type.3.2.2: Attribute 'uuid' is not allowed to appear in element 'jasperReport'. XML & JSON 4
C JAXB: XML-Elemente einlesen und als XML-Attribute ausgeben XML & JSON 7
F EMF, XSD to ECore mapping, Attribute vs. Element XML & JSON 2
A XML-Attribute vergleichen XML & JSON 4
Helgon MalformedByteSequenceException und null JDOM Attribute XML & JSON 5
G JAXB XML-Attribute feststellen XML & JSON 4
2 wie komme ich an die Attribute XML & JSON 3
S Attribute von Elementen auslesen mit XPath XML & JSON 2
B 2 Attribute in einer xsl XML & JSON 2
M Gegenseitig ausschließende Attribute definieren in XSD XML & JSON 7
C DOM: Attribute nicht in alphabetischer Reihenfolge schreiben XML & JSON 3
eQuest XML Jaxen Attribute auslesen XML & JSON 2
C Mit SAX Parser XML Attribute auswerten XML & JSON 3
H XML Attribute auslesen XML & JSON 5
S JAXB und viele verschachtelte Attribute XML & JSON 1
G xquery - nodes unterscheiden sich nur durch attribute :-( XML & JSON 4
L Objekt Serialisierung: Schreiben aller Attribute erzwingen XML & JSON 5
E EMF Modell um alle möglichen Attribute auszulesen XML & JSON 12
S XSD: restriction und attribute gleichzeitig XML & JSON 4
V XMLEncoder: Attribute nicht serialisieren XML & JSON 2
D Wie kann ich Namespace Attribute in den Elementen entfernen? XML & JSON 2
M Attribute parsen XML & JSON 6
D JDOM erzeugt leere xmlns Attribute XML & JSON 4
B jdom outputter ohne attribute XML & JSON 2
G Wie Attribute aus XML in ein Model schreiben (StAX)? XML & JSON 7
P Knoten-Attribute einer xsd-Datei in einem JTree auslesen XML & JSON 18
M attribute funken nicht XML & JSON 3
R Jtree + Attribute XML & JSON 6
Z DOM: Attribute in Knoten schreiben XML & JSON 2
W jaxws jaxb wsdl Java-Klassen generieren und binding.xml verwenden XML & JSON 1
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
MiMa Mehrfachvariablen in Java durch XML XML & JSON 4
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

Ähnliche Java Themen

Neue Themen


Oben