XML einlesen und in Datenbank schreiben

Status
Nicht offen für weitere Antworten.

boiler

Neues Mitglied
hi,
ich erhalte die XML Datei von der API des Spiels EveOnline
Jetzt will ich diese XML Datei irgendwie einlesen und die Werte in eine Datenbank schreiben.

Wenn das geschafft ist werde ich die Datenbankinhalte für mich in eine Swinganwendung reinpacken und ausgeben.

Das einzige Problem ist, ich hab keine Ahnung wie ich die xml Datei (welche ich bereits per HTTP geholt habe und local gespeichert habe) in eine Datenbank schreibe...

Hier ist wie die XML Datei aussieht
[highlight=XML]
<?xml version='1.0' encoding='UTF-8'?>
<eveapi version="2">
<currentTime>2009-03-21 13:39:49</currentTime>
<result>
<rowset name="transactions" key="transactionID" columns="transactionDateTime,transactionID,quantity,typeName,typeID,price,clientID,clientName,stationID,stationName,transactionType,transactionFor">
<row transactionDateTime="2009-02-20 16:36:00" transactionID="888805435" quantity="16" typeName="1400mm Howitzer Artillery I Blueprint" typeID="833" price="13500000.00" clientID="1000051" clientName="Republic Fleet" stationID="60004903" stationName="Amo VIII - Moon 2 - Republic Fleet Assembly Plant" transactionType="buy" transactionFor="corporation" />
<row transactionDateTime="2009-02-20 16:35:00" transactionID="888804815" quantity="16" typeName="1200mm Artillery Cannon I Blueprint" typeID="832" price="10800000.00" clientID="1000051" clientName="Republic Fleet" stationID="60004903" stationName="Amo VIII - Moon 2 - Republic Fleet Assembly Plant" transactionType="buy" transactionFor="corporation" />
<row transactionDateTime="2009-02-20 05:04:00" transactionID="888410293" quantity="1" typeName="Expanded Cargohold I" typeID="1317" price="1110.01" clientID="1896316358" clientName="ooblah413" stationID="60011719" stationName="Chelien IV - Moon 20 - Federal Administration Information Center" transactionType="sell" transactionFor="personal" />
<row transactionDateTime="2009-02-19 20:00:00" transactionID="887943384" quantity="2" typeName="Expanded Cargohold I" typeID="1317" price="1110.01" clientID="1247542491" clientName="Anasazi007" stationID="60011719" stationName="Chelien IV - Moon 20 - Federal Administration Information Center" transactionType="sell" transactionFor="personal" />
<row transactionDateTime="2009-02-19 18:01:00" transactionID="887832408" quantity="1" typeName="Expanded Cargohold I" typeID="1317" price="1110.01" clientID="1868908427" clientName="" stationID="60011719" stationName="Chelien IV - Moon 20 - Federal Administration Information Center" transactionType="sell" transactionFor="personal" />
<row transactionDateTime="2009-02-19 12:23:00" transactionID="887590587" quantity="1" typeName="Dual Heavy Pulse Laser I Blueprint" typeID="844" price="4217999.13" clientID="358954236" clientName="Milluardo Peacecraft" stationID="60003760" stationName="Jita IV - Moon 4 - Caldari Navy Assembly Plant" transactionType="sell" transactionFor="corporation" />
<row transactionDateTime="2009-02-19 07:14:00" transactionID="887451167" quantity="1" typeName="Expanded Cargohold I" typeID="1317" price="1110.01" clientID="1612493492" clientName="Dizbin" stationID="60011719" stationName="Chelien IV - Moon 20 - Federal Administration Information Center" transactionType="sell" transactionFor="personal" />
<row transactionDateTime="2009-02-19 07:00:00" transactionID="887442771" quantity="1" typeName="Expanded Cargohold I" typeID="1317" price="10000.00" clientID="1612493492" clientName="Dizbin" stationID="60011719" stationName="Chelien IV - Moon 20 - Federal Administration Information Center" transactionType="sell" transactionFor="personal" />
</rowset>
</result>
<cachedUntil>2009-03-21 13:54:49</cachedUntil>
</eveapi>

[/highlight]

ich will z.b. die transactionID als eine Spalte mir Primärschlüssel machen
 
Zuletzt bearbeitet:

SvenK

Aktives Mitglied
XML einlesen ist relativ einfach
[highlight=Java]
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;

DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("book.xml"));
[/highlight]

Dann kannst du über das Document DOM-Abfragen machen und die Informationen (Name, Attribute usw) der gefunden Elemente auslesen
[highlight=Java]
NodeList listOfRows = doc.getElementsByTagName("row");
for (int s = 0; s < listOfRows.getLength(); s++) {
Element element = (Element) listOfRows.item(s);
...
}
[/highlight]

Die Übergabe an die Datenbank ist ähnlich simpel. Was du erst einmal brauchst, ist der passende JDBC-Treiber für dein DBMS. Findest du alles im Netz.

Dann baust du zuerst eine Verbindung zur Datenbank auf.
[highlight=Java]
Connection con = DriverManager.getConnection("jdbc:myDriver:wombat", "myLogin", "myPassword");
[/highlight]
Und dann kannst du schon loslegen und deine XML-Daten hinzuzufügen. Folgendes könntest du in die obige for-Schleife schreiben
[highlight=Java]
PreparedStatement stmt = con.prepareStatement("INSERT INTO eve_row (transactionID, transactionDateTime, quantity) VALUES (?, ?, ?)");

stmt.setString(1, element.getAttribute("transactionID"));
stmt.setString(2, element.getAttribute("transactionDateTime"));
stmt.setInt(3, Integer.parseInt(element.getAttribute("quantity")));

stmt.executeUpdate();
[/highlight]
Die Tabelle hätte demzufolge 3 Spalten, die entsprechend den XML-Attributen benannt wurde. Wie du das bei dir konkret machst, bleibt dir überlassen.

Du könntest die SQL-Statements auch erst einmal sammeln (in einer Liste zBsp) und später zentral ausführen (foreach über Liste und executeUpdate für jedes Statement)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
iman XML Attribute mit JAVA einlesen mit Spring Batch XML & JSON 0
J Object in JSON Datei einlesen und als neues Object erzeugen (in ein Object Array) XML & JSON 29
I Mit Hibernate eine XML-Datei in eine Tabellenspalte einlesen. XML & JSON 1
L XML einlesen gleichnamige Elemente XML & JSON 5
T HTML mit Hilfe Jsoup einlesen XML & JSON 11
R xlsx-Datei mit Apache POI einlesen XML & JSON 18
S CSV Datei einlesen und XML Ausgeben XML & JSON 2
W XML einlesen und Attribute auslesen XML & JSON 1
M XML Werte einlesen aber wie am besten weiterverarbeiten? XML & JSON 13
L XML nur ein Element einlesen XML & JSON 2
L Jackson JSON: Probleme beim einlesen XML & JSON 1
S XML in JTable Einlesen XML & JSON 3
B XML analysieren und einlesen XML & JSON 26
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
Ollek XML Einlesen - Welche API ist die richtige? XML & JSON 14
X XML einlesen XML & JSON 6
C JAXB: XML-Elemente einlesen und als XML-Attribute ausgeben XML & JSON 7
jstei001 .xsd File wärend der Laufzeit einlesen und XMl rausschreiben XML & JSON 5
J XML mit russischem Inhalt einlesen XML & JSON 4
D XML Einlesen mit JaxB XML & JSON 4
K Einlesen eines Parameters aus HTML-Datei XML & JSON 4
D Wie XML Datei einlesen und HTML entities übernehmen? XML & JSON 3
B Validierung nur beim einlesen oder auch beim schreiben? XML & JSON 4
B SAX-Parser - Dokumente einlesen und in einer Map ablegen XML & JSON 2
N xsd pattern in java einlesen XML & JSON 6
F Einlesen von JDBC connection in Java von XML XML & JSON 4
J wert IN einem tag einlesen/schreiben XML & JSON 4
F XML erzeugen aus JTree und wieder einlesen... XML & JSON 6
N JDOM: XML einlesen XML & JSON 4
F XML mit DOM einlesen- Teile in Arraylist speichern XML & JSON 4
S XML einlesen XML & JSON 18
F XML Datei in Java einlesen XML & JSON 4
H XMI über EMF / UML2 einlesen XML & JSON 7
S XML einlesen, analysieren, bearbeiten & als Textdatei ausgeben XML & JSON 1
E XML Datei einlesen und Elemente in der Console ausgeben XML & JSON 6
H xml-Datei mit Attributen einlesen XML & JSON 3
C xml "zeilenweise" einlesen XML & JSON 6
S XML-Schema einlesen um parsen zu erleichtern? XML & JSON 2
L Element einlesen <Telefon name="Karl">134313 XML & JSON 2
G XML Tag beim Einlesen manipulieren XML & JSON 2
J XML-Datei ein Array einlesen XML & JSON 10
P Große XML Datei mittels JDOM bearbeiten / einlesen XML & JSON 6
G Simples XML File einlesen mit JDom. Prefix not bound ? XML & JSON 2
M Liste in Baumstruktur einlesen XML & JSON 4
D nicht (ganz) valiedes XML einlesen! XML & JSON 19
S Einlesen einer xml Datei XML & JSON 4
S XML Datei einlesen, aber root überspringen XML & JSON 2
M XML einlesen - prüfen ob Element vorhanden XML & JSON 2
M NullPointerException bei Einlesen XML XML & JSON 3
J XML - schreiben und einlesen (Schema) XML & JSON 14
S XML Strings in JAVA einlesen, aber wie? XML & JSON 8
K JDOM SAXBuilder einlesen XML & JSON 6
G Newbe - Frage.XML - Datei einlesen und speichern XML & JSON 2
G xml einlesen und bestimmte Elemente an eine gui_Klasse überg XML & JSON 25
B XML String einlesen XML & JSON 4
M mit JDOM XML-Datei einlesen, die nicht "well-formed&quo XML & JSON 3
T Newbie Frage. CSS Stylesheet einlesen und suchen nach Tags XML & JSON 6
P OutOfMemoryError beim Einlesen einer XML-Datei XML & JSON 7
C Zeile herausfinden in der ein Fehler beim Einlesen entsteht XML & JSON 3
R wie kann ich ein xml file in einen string einlesen? XML & JSON 2
N Objekte via XML speichern und wieder einlesen XML & JSON 12
R POST REQUEST: XmlDocument mit getInputStream einlesen! XML & JSON 6
J IReport Datenbank XML XML & JSON 0
B XML Datenbank laden XML & JSON 2
H Einfache (lokale) OpenSource XML-Datenbank XML & JSON 13
T RSS-Feed parsen und in Datenbank speichern XML & JSON 6
D Datenbank-Tabelle to XML XML & JSON 11
R eXist Datenbank --> Servlet-Zugriff Treiber? XML & JSON 6
C xml -> relationale Datenbank XML & JSON 6
B Probleme mit Zugriff auf eXist-Datenbank XML & JSON 9
G XML als "Datenbank" für kleine Daten XML & JSON 2
G Welche XML-Datenbank? XML & JSON 3
R XML oder Datenbank? XML & JSON 2
D Int-Werte in XML-Datei schreiben (DOM) XML & JSON 2
W XPath schreiben XML & JSON 1
N Java XML schreiben funktioniert nicht XML & JSON 1
L Mit Hilfe von POI eine Tabelle ohne Rahmen in Word schreiben XML & JSON 2
J XML als stream schreiben? XML & JSON 2
M JAXB: automatisches Groß schreiben Property XML & JSON 9
L Datenstruktur in XML-File schreiben XML & JSON 2
G DXF-File schreiben XML & JSON 17
P Komfortabel XML Dokumente schreiben und lesen XML & JSON 6
Maxim6394 Lesen/Schreiben von XML Datei XML & JSON 9
S XML lesen und schreiben XML & JSON 2
C DOM: Attribute nicht in alphabetischer Reihenfolge schreiben XML & JSON 3
T Schreiben einer XML XML & JSON 8
K JAXB: Klassen mit Annotation Lesen/Schreiben XML XML & JSON 3
K '&' in xml schreiben XML & JSON 2
G Problem beim schreiben von XML in eine File XML & JSON 2
sylo DOM Document in XML Datei schreiben XML & JSON 5
J xmlencoder Zustände einer Bean schreiben XML & JSON 3
B eigentlich einfach nur XML schreiben XML & JSON 3
L Objekt Serialisierung: Schreiben aller Attribute erzwingen XML & JSON 5
A JDOM: Wert schreiben bzw. ändern XML & JSON 6
M DOM, Werte mit setAttribute in XML schreiben XML & JSON 3
D Tabs/Einrückungen der XML-Elemente gehen beim Schreiben verloren XML & JSON 5
J XML lesen schreiben XML & JSON 7
T Xml lesen und in .txt zeilenweise schreiben XML & JSON 4
L Einfaches XML Lesen und Schreiben XML & JSON 4
O OpenDocument-Tabelle mit Java lesen und schreiben XML & JSON 3

Ähnliche Java Themen

Neue Themen


Oben