2013-06-20 97 views
1

我正在使用portlet。我基本上是在一個部分的一個小地方卡住我要讀這將有相同的格式一堆項目的XML文件:讀取XML文件並存儲其內容

<item> 
    <title>Some title</title> 
    <event_date>Some date</event_date> 
    <event_start_time>Some start time</event_start_time> 
    <event_location>Some location</event_location> 
</item> 

我想知道什麼是最好的方式做到這一點了。我只需要獲得這些項目中的每一個,並將它們存儲在一個列表中,以便稍後可以很好地顯示它們。

有沒有人有任何建議? 在此先感謝!

+1

看一看JAXP(DOM),DOM4J或JDOM解析API。 –

+1

使用JAXB;那麼你將不必編寫任何繁瑣的解析代碼。 – rob

回答

0

可以,例如,使自己的Item類,有titleevent_dateevent_start_timeevent_location作爲變量。

做項目的數組:

ArrayList <Item> arrayItems = new ArrayList <Item>(); 

然後,讀取XML:

File fXmlFile = new File("/yourFile.xml"); 
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
Document doc = dBuilder.parse(fXmlFile); 

doc.getDocumentElement().normalize(); 

NodeList nList = doc.getElementsByTagName("item"); 

for (int i = 0; i < nList.getLength(); i++) { 

    Node nNode = nList.item(i); 

    Element eElement = (Element) nNode; 

    title= eElement.getAttribute("title")); 

    //event_date, event_start_time, ... 

    arrayItems.add(i, new Item(title, event_date,event_start_time,event_location)); 


    } 
    } 
} 
相關問題