您现在的位置是:首页 >

java如何读取xml文件 Java读取xml文件的四种方法

火烧 2021-11-04 19:05:27 1025
Java读取xml文件的四种方法   xml文件  Xml代码   lt ?xml ver io = e codi g= GB ? gt    lt RESULT gt    lt VALUE gt

Java读取xml文件的四种方法  

  xml文件

  Xml代码

  <?xml version= encoding= GB ?>

  <RESULT>

  <VALUE>

  <NO>A </NO>

  <ADDR>河南省郑州市</ADDR>

  </VALUE>

  <VALUE>

  <NO>B </NO>

  <ADDR>河南省郑州市二七区</ADDR>

  </VALUE>

  </RESULT>

  第一种 DOM 实现方法

  Java代码

  import java io File;

  import javax xml parsers DocumentBuilder;

  import javax xml parsers DocumentBuilderFactory;

  import w c dom Document;

  import w c dom NodeList;

  public class MyXMLReader DOM {

  public static void main(String arge[]) {

  long lasting = System currentTimeMillis();

  try {

  File f = new File( data_ k xml );

  DocumentBuilderFactory factory = DocumentBuilderFactory newInstance();

  DocumentBuilder builder = factory newDocumentBuilder();

  Document doc = builder parse(f);

  NodeList nl = doc getElementsByTagName( VALUE );

  for (int i = ; i < nl getLength(); i++) {

  System out print( 车牌号码: + doc getElementsByTagName( NO em(i) getFirstChild() getNodeValue());

  System out println( 车主地址: + doc getElementsByTagName( ADDR em(i) getFirstChild() getNodeValue());

  System out println( 运行时间 + (System currentTimeMillis() lasting)

  + 毫秒 );

  }

  }

  } catch (Exception e) {

  e printStackTrace();

  }

  }

  }

  第二种 DOM J实现方法

  Java代码

  import java io *;

  import java util *;

  import dom j *;

  import dom j io *;

  public class MyXMLReader DOM J {

  public static void main(String arge[]) {

  long lasting = System currentTimeMillis();

  try {

  File f = new File( data_ k 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 ));

  }

  System out println( 运行时间 + (System currentTimeMillis() lasting)

  + 毫秒 );

java如何读取xml文件 Java读取xml文件的四种方法

  }

  } catch (Exception e) {

  e printStackTrace();

  }

  }

  }

  第三种 JDOM实现方法

  Java代码

  import java io *;

  import java util *;

  import jdom *;

  import jdom input *;

  public class MyXMLReader JDOM {

  public static void main(String arge[]) {

  long lasting = System currentTimeMillis();

  try {

  SAXBuilder builder = new SAXBuilder();

  Document doc = builder build(new File( data_ k xml ));

  Element foo = doc getRootElement();

  List allChildren = foo getChildren();

  for (int i = ; i < allChildren size(); i++) {

  System out print( 车牌号码: + ((Element) allChildren get(i)) getChild( NO ) getText());

  System out println( 车主地址: + ((Element) allChildren get(i)) getChild( ADDR ) getText());

  }

  System out println( 运行时间 + (System currentTimeMillis() lasting)

  + 毫秒 );

  }

  } catch (Exception e) {

  e printStackTrace();

  }

  }

  }

  第四种SAX实现方法

  Java代码

  import javax xml parsers SAXParser;

  import javax xml parsers SAXParserFactory;

  import xml sax Attributes;

  import xml sax InputSource;

  import xml sax SAXException;

  import xml sax helpers DefaultHandler;

  public class MyXMLReader SAX extends DefaultHandler {

  java util Stack tags = new java util Stack();

  public MyXMLReader SAX() {

  super();

  }

  public static void main(String args[]) {

  long lasting = System currentTimeMillis();

  try {

  SAXParserFactory sf = SAXParserFactory newInstance();

  SAXParser sp = sf newSAXParser();

  MyXMLReader SAX reader = new MyXMLReader SAX();

  sp parse(new InputSource( data_ k 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);

  }

lishixinzhi/Article/program/Java/hx/201311/25610  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码