你可以用两种方法来处理,一是用文本方式读取,类似于下面这样,注意节点查取的顺序和XML中节点的顺序相同。还有一种用XML解析器来做,你去下载一个XML解析器的包,然后Parse一下。import java.io.*;public class parseXML {
public parseXML() {
try
{
int nowP=0;
int startP,endP;
String text; InputStream is=new FileInputStream("C:\\test.xml");
byte arr[]=new byte[is.available()];
is.read(arr);
text=new String(arr);
String tmp; startP=text.indexOf("<分类号>",nowP);
endP=text.indexOf("</分类号>",startP);
while(startP>0 && endP>0)
{
tmp=text.substring(startP+5,endP);
System.out.println("分类号:"+tmp);
nowP=endP; startP=text.indexOf("<标题>",nowP);
endP=text.indexOf("</标题>",startP);
tmp=text.substring(startP+4,endP);
System.out.println("标题:"+tmp);
nowP=endP; startP=text.indexOf("<时效性>",nowP);
endP=text.indexOf("</时效性>",startP);
tmp=text.substring(startP+5,endP);
System.out.println("时效性:"+tmp);
nowP=endP; startP=text.indexOf("<颁布日期>",nowP);
endP=text.indexOf("</颁布日期>",startP);
tmp=text.substring(startP+6,endP);
System.out.println("颁布日期:"+tmp);
nowP=endP; startP=text.indexOf("<内容分类>",nowP);
endP=text.indexOf("</内容分类>",startP);
tmp=text.substring(startP+6,endP);
System.out.println("内容分类:"+tmp);
nowP=endP; startP=text.indexOf("<正文>",nowP);
endP=text.indexOf("</正文>",startP);
tmp=text.substring(startP+4,endP);
System.out.println("正文:"+tmp);
nowP=endP; startP=text.indexOf("<分类号>",nowP);
endP=text.indexOf("</分类号>",startP);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args) {
parseXML parseXML1 = new parseXML();
}}
public parseXML() {
try
{
int nowP=0;
int startP,endP;
String text; InputStream is=new FileInputStream("C:\\test.xml");
byte arr[]=new byte[is.available()];
is.read(arr);
text=new String(arr);
String tmp; startP=text.indexOf("<分类号>",nowP);
endP=text.indexOf("</分类号>",startP);
while(startP>0 && endP>0)
{
tmp=text.substring(startP+5,endP);
System.out.println("分类号:"+tmp);
nowP=endP; startP=text.indexOf("<标题>",nowP);
endP=text.indexOf("</标题>",startP);
tmp=text.substring(startP+4,endP);
System.out.println("标题:"+tmp);
nowP=endP; startP=text.indexOf("<时效性>",nowP);
endP=text.indexOf("</时效性>",startP);
tmp=text.substring(startP+5,endP);
System.out.println("时效性:"+tmp);
nowP=endP; startP=text.indexOf("<颁布日期>",nowP);
endP=text.indexOf("</颁布日期>",startP);
tmp=text.substring(startP+6,endP);
System.out.println("颁布日期:"+tmp);
nowP=endP; startP=text.indexOf("<内容分类>",nowP);
endP=text.indexOf("</内容分类>",startP);
tmp=text.substring(startP+6,endP);
System.out.println("内容分类:"+tmp);
nowP=endP; startP=text.indexOf("<正文>",nowP);
endP=text.indexOf("</正文>",startP);
tmp=text.substring(startP+4,endP);
System.out.println("正文:"+tmp);
nowP=endP; startP=text.indexOf("<分类号>",nowP);
endP=text.indexOf("</分类号>",startP);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args) {
parseXML parseXML1 = new parseXML();
}}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货