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
<?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
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;
}