XML格式 <?xml version="1.0" encoding="UTF-8" ?> 
- <geography>
- <provinces>
- <province id="1">
  <name>北京市</name> 
- <cities>
- <city id="1">
  <name>北京市</name> 
  </city>
  </cities>
  </province>
- <province id="2">
  <name>广西壮族自治区</name> 
- <cities>
- <city id="2">
  <name>南宁市</name> 
  </city>
- <city id="3">
  <name>柳州市</name> 
  </city>
  </cities>
  </province>
</geography>我想获取city节点下的name值 如果我用rootElement.getElementsByTagName(“name”) 就把第一个name属性也取出来了 如果取city下的name 多谢

解决方案 »

  1.   

    //获取所有的province节点
    NodeList provinces=rootElement.getElementsByTagName("province");
    for(int i=0;i<provinces.getLength();i++){
       Element province=(Element)provinces.item(i);
       String provinceName=province.getAttibute("name");
       String provinceId=province.getAttibutes().getNamedItem("id").getNodeValue();
       //获取当前province节点下的citys.如果不用前面的代码而直接使用这个,
       //将直接获得所有province节点下的city节点,注意,不是citys节点!
       NodeList citys=province.getElementsByTagName("city");   for(int i=0;i<citys.getLength();i++){
         Element city=(Element)citys.item(i);
         String cityName=city.getAttibute("name");
         String cityId=citys.getAttibutes().getNamedItem("id").getNodeValue();
       }
    }