我是疯狂的石头 看看这篇文章 http://blog.csdn.net/daryl715/archive/2007/07/25/1707161.aspx

解决方案 »

  1.   

    简单的javabean不需要,如果是list、map之类的需要额外的配置文件
      

  2.   

    readxml.java 文件内容
    package test.xml;
    import java.io.File;
    import java.io.IOException;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.Document;public class readxml {
      public  static void main(String arg[]){
       File file=new File("NewFile.xml");
       Document doc=null;
       try {
       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
       DocumentBuilder db = dbf.newDocumentBuilder();
       doc = db.parse(file);
       } catch (IOException ioe) {
       System.out.println("can not find the xml");
       } catch (Exception e) {
       System.out.println(e.getMessage());
       }
       NodeList messages = doc.getElementsByTagName("MESSAGE");    for (int i = 0; i < messages.getLength(); i++) {
           int message_id = 14;
       message_id = message_id + i;
       System.out.println("MESSAGE_ID:" + message_id);
       String conf_num = doc.getElementsByTagName("CONF_NUM").item(i)
       .getFirstChild().getNodeValue();
       System.out.println("CONF_NUM:" + conf_num);
       String message_time = doc.getElementsByTagName("MESSAGE_TIME")
       .item(i).getFirstChild().getNodeValue();
       System.out.println("MESSAGE_TIME:" + message_time);
       String message_from = doc.getElementsByTagName("MESSAGE_FROM")
       .item(i).getFirstChild().getNodeValue();
       System.out.println("MESSAGE_FROM:" + message_from);
       String messgae_to = doc.getElementsByTagName("MESSAGE_TO").item(i)
       .getFirstChild().getNodeValue();
       System.out.println("MESSAGE_TO:" + messgae_to);
       String message_subject = doc
       .getElementsByTagName("MESSAGE_SUBJECT").item(i)
       .getFirstChild().getNodeValue();
       System.out.println("MESSAGE_SUBJECT:" + message_subject);
       String message_encoding = doc.getElementsByTagName(
       "MESSAGE_ENCODING").item(i).getFirstChild().getNodeValue();
       System.out.println("MESSAGE_ENCODING:" + message_encoding);
       String message_flag = doc.getElementsByTagName("MESSAGE_FLAG")
       .item(i).getFirstChild().getNodeValue();
       System.out.println("MESSAGE_FLAG:" + message_flag);
       String message_status = doc.getElementsByTagName("MESSAGE_STATUS")
       .item(i).getFirstChild().getNodeValue();
       System.out.println("MESSAGE_STATUS:" + message_status);
       String network_id = doc.getElementsByTagName("NETWORK_ID").item(i)
       .getFirstChild().getNodeValue();
       System.out.println("NETWORK_ID:" + network_id);
       String message_direction = doc.getElementsByTagName(
       "MESSAGE_DIRECTION").item(i).getFirstChild().getNodeValue();
       System.out.println("MESSAGE_DIRECTION:" + message_direction);
       String result = doc.getElementsByTagName("RESULT").item(i)
       .getFirstChild().getNodeValue();
       System.out.println("RESULT:" + result);
       String extend_desc = doc.getElementsByTagName("EXTEND_DESC")
       .item(i).getFirstChild().getNodeValue();
       System.out.println("EXTEND_DESC:" + extend_desc);
       System.out.println("*****************");
       }
       }}NewFile.xml文件内容<?xml version="1.0" encoding="UTF-8"?>
    <RETRIEVEMESSAGES>  <MESSAGE MESSAGE_ID="14">
          <CONF_NUM>200000014</CONF_NUM>
          <MESSAGE_TIME>2005/03/22 19:06:39</MESSAGE_TIME>
          <MESSAGE_FROM>test1</MESSAGE_FROM>
          <MESSAGE_TO>sc1</MESSAGE_TO>
          <MESSAGE_SUBJECT>test to sc1</MESSAGE_SUBJECT>
          <MESSAGE_ENCODING>ASCII</MESSAGE_ENCODING>
          <MESSAGE_FLAG>READ</MESSAGE_FLAG>
          <MESSAGE_STATUS>Delivered</MESSAGE_STATUS>
          <NETWORK_ID>3</NETWORK_ID>
          <MESSAGE_DIRECTION>Mobile Terminated</MESSAGE_DIRECTION>
          <RESULT>1</RESULT>
          <EXTEND_DESC>Success</EXTEND_DESC>
      </MESSAGE>
      <MESSAGE MESSAGE_ID="15">
          <CONF_NUM>200000015</CONF_NUM>
          <MESSAGE_TIME>2005/03/23 18:26:21</MESSAGE_TIME>
          <MESSAGE_FROM>test1</MESSAGE_FROM>
          <MESSAGE_TO>sc2</MESSAGE_TO>
          <MESSAGE_SUBJECT>test to sc2</MESSAGE_SUBJECT>
          <MESSAGE_ENCODING>ASCII</MESSAGE_ENCODING>
          <MESSAGE_FLAG>READ</MESSAGE_FLAG>
          <MESSAGE_STATUS>Delivered</MESSAGE_STATUS>
          <NETWORK_ID>3</NETWORK_ID>
          <MESSAGE_DIRECTION>Mobile Terminated</MESSAGE_DIRECTION>
          <RESULT>1</RESULT>
          <EXTEND_DESC>Success</EXTEND_DESC>
      </MESSAGE>
    </RETRIEVEMESSAGES>我把
    NewFile.xml  放在了 
    这里  
    运行提示错误是
    can not find the xml
    Exception in thread "main" java.lang.NullPointerException
    at test.xml.readxml.main(readxml.java:24)
    为什么 谢谢大家了
      

  3.   

    can not find the xml
    Exception in thread "main" java.lang.NullPointerException
    at test.xml.readxml.main(readxml.java:24)你的XML文件不在CLASSPATH当中而找不到,要不你写死绝对路径再试试。