Metua Geschrieben 12. Mai 2005 Geschrieben 12. Mai 2005 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 Zitieren
Jaraz Geschrieben 12. Mai 2005 Geschrieben 12. Mai 2005 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 Zitieren
Metua Geschrieben 12. Mai 2005 Autor Geschrieben 12. Mai 2005 danke dir, hab gerade auch noch eine gut sache entdeckt: "j4dom", met Zitieren
Jaraz Geschrieben 12. Mai 2005 Geschrieben 12. Mai 2005 j4dom kenne ich nicht, ich kenne nur dom4j Zitieren
Metua Geschrieben 12. Mai 2005 Autor Geschrieben 12. Mai 2005 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(); } } Zitieren
8ull23y3 Geschrieben 17. Mai 2005 Geschrieben 17. Mai 2005 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... Zitieren
BugHunter Geschrieben 20. Mai 2005 Geschrieben 20. Mai 2005 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; } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.