当前位置: 代码迷 >> J2EE >> dom4j 解析 xml的有关问题
  详细解决方案

dom4j 解析 xml的有关问题

热度:784   发布时间:2016-04-22 03:24:21.0
dom4j 解析 xml的问题
这个是xml文件
XML code
  <?xml version="1.0" encoding="UTF-8" ?>   <!DOCTYPE root (View Source for full doctype...)> - <!-- this is the first xml created by dom4j!  --> - <root name="root">- <!-- the root  -->   this is the root's content! - <child name="first">- <!-- first child  -->   the first child element!   </child>- <child name="second">- <!-- second child  -->   the second child element!   </child>  </root>


我用下面的程序 读取:
Java code
package iterate;import java.io.FileNotFoundException;import java.io.FileReader;import java.util.Iterator;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class printXml {    @SuppressWarnings("unchecked")    public static void main(String[] argv) {        final String filename = "D:/firstXml.xml";        try {                        SAXReader saxReader = new SAXReader(); //这里抛出异常,异常在下面列出            FileReader file = new FileReader(filename);            Document doc = saxReader.read(file);            System.out.println(filename);            List list = doc.selectNodes("/root/child");            Iterator iter = list.iterator();            while (iter.hasNext()){                //System.out.println(filename);                Element childElem = (Element)iter.next();                System.out.println(childElem.getText());            }        } catch (DocumentException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        }}

抛出异常:
org.dom4j.DocumentException: D Nested exception: D
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.dom4j.io.SAXReader.read(SAXReader.java:365)
at iterate.printXml.main(printXml.java:24)
Nested exception: 
java.net.UnknownHostException: D
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.NetworkClient.openServer(NetworkClient.java:118)
at sun.net.ftp.FtpClient.openServer(FtpClient.java:488)
at sun.net.ftp.FtpClient.openServer(FtpClient.java:475)
at sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:270)
at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:352)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:653)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1316)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1283)
at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1168)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1068)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:988)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
  相关解决方案