xml文件为如下的时候,解析没有问题
<?xml version="1.0" encoding="GB2312"?>
<RESULT>
<VALUE> 
  <NO>A1234</NO> 
  <ADDR>四川省XX县XX镇XX路X段XX号</ADDR>
</VALUE>
<VALUE> 
  <NO>B1234</NO> 
  <ADDR>四川省XX市XX乡XX村XX组</ADDR>
</VALUE>
</RESULT>import java.io.*;
import java.util.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;   public class MyXMLReader{   public static void main(String arge[]){   try{     File f=new File("data_10k.xml");    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();    DocumentBuilder builder=factory.newDocumentBuilder();    Document doc = builder.parse(f);    NodeList nl = doc.getElementsByTagName("VALUE");    for (int i=0;i<nl.getLength();i++){     System.out.print("车牌号码:" + doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());     System.out.println("车主地址:" + doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue());   }   }catch(Exception e){    e.printStackTrace();   } }
}但修改xml文件为
<?xml version="1.0" encoding="GB2312"?>
<RESULT>
<VALUE NO="A1234"> 
  <ADDR>四川省XX县XX镇XX路X段XX号</ADDR>
</VALUE>
<VALUE NO="B1234">
<ADDR>四川省XX市XX乡XX村XX组</ADDR>
</VALUE>
</RESULT>  请问如何解析?
并且如何通过<ADDR>的元素内容确定出NO

解决方案 »

  1.   

    楼上的人有些不厚道啊,不好好解答问题还捣乱。对于楼主说的问题,我有个笨办法,仅供参考public String findTargetValue(String addr){
         List add = xmlfile.doc.getChildren("value").getChile("addr");
         if(!add.isEmpty()){
           for(int i=0;i<add.size();i++){
             if(add.getValue.equals("addr")
               return add.getPararent().getAttributeValue("No");
           }
          else
            return null;
         
    }