我試圖編寫一個代碼,它將使用sax讀取並保存到一個xml文件中,但我對此很陌生,所以我不斷收到標題中的錯誤。這裏是代碼:SaxParserException文件過早結束
public void readMoviesFromXML()
{
ArrayList<Movie> lst = new ArrayList<>();
try {
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse("movies.xml");
//I get the error at the line just above
Node root = document.getDocumentElement();
NodeList nodeList = root.getChildNodes();
for(int i=0; i<nodeList.getLength(); i++)
{
Node node = nodeList.item(i);
if(node instanceof Element)
{
Element element = (Element) node;
Attr attr = element.getAttributeNode("moviename");
String moviename = attr.getValue();
String title = getNodeValue(element, "name");
String rented = getNodeValue(element, "renttimes");
Movie movie = new Movie(title, Integer.parseInt(rented));
lst.add(movie);
}
}
}catch (Exception e)
{
e.printStackTrace();
}
mm.setMovieMap(lst);
}
xml文件未初始化,我擔心這可能是問題。 任何幫助表示讚賞。
您是否嘗試使用XDocument解析? – Apoorv
我對XML不熟悉,所以我不知道XDocument是什麼。 –
wait..let我給你一個關於如何解析XML文檔的鏈接! – Apoorv