2016-07-29 2 views
0

Имея filedrop, уже реализованный в моем коде, мне нужно проанализировать xml-файл, который я бросаю в main().Java parse xml с удалением файла

Main()

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"); 
     } 
    } 
} 

Я не могу напечатать что-нибудь, и когда я, я вижу "NULL" или просто пустую строку или какой-либо путь @ numbers

Я не разработчик, мне просто нужно попробовать открыть xml для отправки содержимого в БД, но это слишком далеко уже.

EDIT: добавлена ​​часть 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> 

ответ

1

Там нет элементов с тегом "Account" в элементе "Счет". Здесь вы должны прочитать атрибуты учетной записи, а не другие элементы. Таким образом, вы должны использовать eElement.getAttribute ("v"), если хотите прочитать атрибут v, а не getElementsByTagName()

+0

мне очень помог! благодаря! – Nihvel