2016-07-29 25 views
0

Nachdem das Filedrop bereits in meinem Code implementiert ist, muss ich die XML-Datei analysieren, die ich in der Haupt() ablegen.Java analysieren ein XML mit Datei-Drop

Haupt()

case "XML": 
    text.append("Processing file type XML: "+files[i].getCanonicalPath() + "\n"); 
    ReadXml read_xml = new ReadXml(); 
    read_xml.read(files[i].getCanonicalPath(), text); 
    break; 

ReadXml.java

public class ReadXml { 

    ProgramDocument programDocument = new ProgramDocument(); 
    public void read(String FILE, javax.swing.JTextArea text) { 

    try { 
     JAXBContext context = JAXBContext.newInstance(ProgramDocument.class); 
     Unmarshaller u = context.createUnmarshaller(); 

     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     dbf.setNamespaceAware(true); 
     DocumentBuilder db = dbf.newDocumentBuilder(); 
     Document doc = db.parse(FILE); 
     Object o = u.unmarshal(doc); 
     doc.getDocumentElement().normalize(); 
     text.append("Account : " +doc.getElementsByTagName("Account").item(0)); 

    } 
    catch(Exception e) { 
     text.append("XML file not parsed correctly.\n"); 
     } 
    } 
} 

Ich bin nicht in der Lage, etwas zu drucken, und wenn ich bin, ich "NULL" oder einfach nur leere Zeile sehen oder irgendeinen Pfad @ Nummern

Ich bin kein Entwickler, ich muss nur versuchen, ein XML zu öffnen, senden Inhalt an eine DB, aber das ist zu weit schon.

EDIT: added Teil xml

<?xml version="1.0" encoding="UTF-8"?> 
<ARRCD Version="48885" Release="38"> 
<Identification v="ORCOZIO"/> 
<Version v="013"/> 
<Account v="OCTO"> 
<Type v="MAJO"/> 
<Date v="2016-05-14"/> 
</AARCD> 

Antwort

1

Es sind keine Elemente "Konto" im Element "Konto" markiert. Was Sie hier lesen möchten, sind die Attribute des Kontos, keine anderen Elemente. Also sollten Sie eElement.getAttribute ("v") verwenden, wenn Sie Attribut v lesen möchten, nicht getElementsByTagName()

+0

hat mir sehr geholfen! Vielen Dank! – Nihvel