读书人

java中四种操作xml模式的比较-JSP教程

发布时间: 2012-10-06 17:34:01 作者: rapoo

java中四种操作xml方式的比较-JSP教程,Java与XML

<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>

1)dom

import java.io.*;
import java.util.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;

public class myxmlreader{
 public static void main(string arge[]){

  long lasting =system.currenttimemillis();
  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();
}

2)sax

import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;

public class myxmlreader extends defaulthandler {

 java.util.stack tags = new java.util.stack();
 public myxmlreader() {
  super();
?? }

 public static void main(string args[]) {
  long lasting = system.currenttimemillis();
  try {
   saxparserfactory sf = saxparserfactory.newinstance();
   saxparser sp = sf.newsaxparser();
   myxmlreader reader = new myxmlreader();
   sp.parse(new inputsource("data_10k.xml"), reader);
  } catch (exception e) {
   e.printstacktrace();
  }

  system.out.println("运行时间:" + (system.currenttimemillis() - lasting) + "毫秒");}
  public void characters(char ch[], int start, int length) throws saxexception {
  string tag = (string) tags.peek();
  if (tag.equals("no")) {?
   system.out.print("车牌号码:" + new string(ch, start, length));
??? }
??? if (tag.equals("addr")) {
  system.out.println("地址:" + new string(ch, start, length));
??? }
?? }

  public void startelement(string uri,string localname,string qname,attributes attrs) {
  tags.push(qname);}
}?

3) jdom

import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;

public class myxmlreader {

 public static void main(string arge[]) {
  long lasting = system.currenttimemillis();
  try {
   saxbuilder builder = new saxbuilder();?
   document doc = builder.build(new file("data_10k.xml"));?
   element foo = doc.getrootelement();?
   list allchildren = foo.getchildren();?
   for(int i=0;i<allchildren.size();i++) {?
    system.out.print("车牌号码:" + ((element)allchildren.get(i)).getchild("no").gettext());
    system.out.println("车主地址:" + ((element)allchildren.get(i)).getchild("addr").gettext());
   }
  } catch (exception e) {
   e.printstacktrace();
}

}

4)dom4j

import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;

public class myxmlreader {

 public static void main(string arge[]) {
  long lasting = system.currenttimemillis();
  try {
   file f = new file("data_10k.xml");
   saxreader reader = new saxreader();
   document doc = reader.read(f);
   element root = doc.getrootelement();
   element foo;
   for (iterator i = root.elementiterator("value"); i.hasnext();) {
    foo = (element) i.next();
    system.out.print("车牌号码:" + foo.elementtext("no"));
    system.out.println("车主地址:" + foo.elementtext("addr"));
   }
  } catch (exception e) {
   e.printstacktrace();
??? }
}

读书人网 >JavaScript

热点推荐