以下是一个XML文件:
<?xml version="1.0" encoding="gb2312"?>
<ROOT ver="1.0" type="schinese">
  <RELEASETIME date="2008-05-28 20:00:00" />
  <STATION ID="54511" NAME="北京" PROVINCE="北京" DISTRICT="北京" TELCODE="010" POSTCODE="100081" LONGITUDE="116.28" LATITUDE="39.48" ALTITUDE="32">
    <FORECASTINFO>
      <FORECASTDATA DATE="2008-05-29" BWEA="浮尘" EWEA="晴" BWD="北风" EWD="北风" BWS="4-5级" EWS="4-5级" TMAX="24" TMIN="16" />
      <FORECASTDATA DATE="2008-05-30" BWEA="晴" EWEA="晴" BWD="北风" EWD="北风" BWS="4-5级" EWS="3-4级" TMAX="31" TMIN="14" />
      <FORECASTDATA DATE="2008-05-31" BWEA="多云" EWEA="阴" BWD="无风向" EWD="无风向" BWS="微风" EWS="微风" TMAX="27" TMIN="18" />
    </FORECASTINFO>
    <INDEXINFO>
      <INDEXDATA DATE="2008-05-29" CT_N="温凉"/>
    </INDEXINFO>
  </STATION>
</ROOT>现在想用DOM解析,将里面的DATE 和 CT_N属性值提出(打印出来)。本人弄了三天都没有弄出来。求大师帮助。在此万分感激。 

解决方案 »

  1.   

    是因为什么失败呢?读xml时要注意. 回车换行也是一个节点  问题是否出在这呢?
      

  2.   

    public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException {
    DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
    Document doc=dbf.newDocumentBuilder().parse(ddd.class.getResourceAsStream("/test.xml"));
    String RELEASETIME_time=doc.getElementsByTagName("RELEASETIME").item(0).getAttributes().item(0).getNodeValue();
    System.out.println("RELEASETIME date is "+RELEASETIME_time);
    Element station=(Element)doc.getElementsByTagName("STATION").item(0);
    Element FORECASTINFO=(Element)station.getElementsByTagName("FORECASTINFO").item(0);
    NodeList list=FORECASTINFO.getElementsByTagName("FORECASTDATA");
    for (int i = 0; i < list.getLength(); i++) {
    System.out.println("FORECASTDATA date is "+list.item(i).getAttributes().getNamedItem("DATE").getNodeValue());
    }
    Element INDEXINFO=(Element)station.getElementsByTagName("INDEXINFO").item(0);
    System.out.println(INDEXINFO.getElementsByTagName("INDEXDATA").item(0).getAttributes().getNamedItem("DATE").getNodeValue());
    System.out.println(INDEXINFO.getElementsByTagName("INDEXDATA").item(0).getAttributes().getNamedItem("CT_N").getNodeValue());
    }
      

  3.   

    heting1024的代码可以用,真的很感谢大家。
      

  4.   

    http://topic.csdn.net/u/20080616/18/2e0e0ba4-53cb-4384-824a-6917d6882feb.html
    看这个的回复,我已经弄好了,记得结贴