Veröffentlicht 12. Mai 200520 j hi, ich will aus nem xml-file ganz bestimmte teile auslesen und in einer datenbank speichern, kann mir einer nen heißen tipp geben wie ich die ganze sache auslese? das einspielen in die db ist kein problem. thx im voraus... met
12. Mai 200520 j Hi, wenn die xml Datei geparst in den Speicher passt, kannst du Sie komplett einlesen und verarbeiten: http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/dom/1_read.html Bei großen Dateien musst du Sie sequenziell abarbeiten: http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/sax/2a_echo.html Gruß Jaraz
12. Mai 200520 j jepp, das mein ich... habs so gemacht, falls es einer wissen will: SAXReader sxread = new SAXReader(); InputStream iss = null; try { iss = new FileInputStream(new File("c:/xml_test2.xml")); InputSource is = new InputSource(iss); sxread.setMergeAdjacentText(false); doc = sxread.read(is); Element root = doc.getRootElement(); Element xpert = root.element("Xpert"); Element textbox = xpert.element("X_Textbox"); Element etext = textbox.element("E_Text"); System.out.println(etext.getText()); // nur ne Ausgabe um zu testen ob es funzt... } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } }
17. Mai 200520 j Hi, ich bin hier grad so reingeschneit Zu Java und XML kann ich nur die Libs von JDOM empfehlen. http://jdom.org/ Ein kleiner Beispielcode könnte so aussehen: import java.util.List; import java.io.FileReader; import org.jdom.input.SAXBuilder; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; public class ReadXML { public static void main(String[] args) { try { SAXBuilder sax = new SAXBuilder(); Document d = sax.build(new FileReader("deineXML.xml")); Element root = d.getRootElement(); List rootChildren = root.getChildren(); } catch(IOException ioex) { ioex.printStackTrace(); } catch(JDOMException jdomex) { jdomex.printStackTrace(); } } } Danach könnte man die Liste entweder mit Enumeration oder mit nem Iterator durchlaufen neue Elemente erstellen(Tipp: CASTEN) und so weiter und so weiter...
20. Mai 200520 j Hallo wir arbeiten auch mit xml-files über die wir verschiedene maschinendaten einlesen. das ganze geschrieht über ein DOM-tree, also so wie schon beschrieben wurde. die einzelnen zweige arbeitest du dann ab, da könnte so aussehen private objectX objectX(Node node) { objectX table = new objectX(); NodeUtil.fillAllPrimitives(table, node); Object ref = table.getReferencedObject(node); if(ref == null || ! ( ref instanceof objectX) ) { xmc.warn("Found no reference objectX for mcdTable:",node); } else { table.setobjectX((objectX)ref); table.getobjectX().setobjectX(table); } return table; }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.