操作XML文件出现java.util.NoSuchElementException怎么解决。。

大笑


今下午做Status2的配置,结果运行出来给抛出了个java.util.NoSuchElementException异常。。以下代码只供演示用:

Exception in thread "main" java.util.NoSuchElementException
	at java.util.ArrayList$Itr.next(ArrayList.java:794)
	at name.hzy.test.XmlUtil.main(XmlUtil.java:27)

JAVA代码如下:

public static void main(String[] args) {
		File file = new File("X:\\aa.xml");
		Document doc;
		Element foo;
		try {
			doc = new SAXReader().read(file);
			Element root = doc.getRootElement();
			Iterator<Element> iterator = root.elementIterator("VALUE");
			while (iterator.hasNext()) {
				foo =iterator.next();   
				String name = foo.attributeValue("name");
				Iterator<Element> it = foo.elementIterator("NO");
				while (it.hasNext()) {
					System.out.println("车牌号是:"+it.next().getText()); <---此句出错,,CSDN怎么不给红了。。
				}
			}
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}

XML文件如下:

<?xml version="1.0" encoding="GB2312"?> 
<RESULT>   
	<VALUE name="one">     
		<NO name="1">A1234</NO>  
		<NO name="2">A1234B</NO>    
	</VALUE>    
	<VALUE name="two">     
		<NO>B1234</NO>
	</VALUE>  
</RESULT>   

等检查了下代码,又上网查了查。。终于知道哪里出错了,就是红色背景处代码有误,于是改之。。

while (it.hasNext()) {
		Element e = it.next();
		System.out.println("车牌号是:"+e.getText());
	}
看出区别了吧。。但是我不知道为什么要这样写,按照我的逻辑,我认为像上面那样写没什么不对,看来还需要好好看下API。。。

最后说下,我是使用的DOM4J操作XML。。



你可能感兴趣的:(exception)