日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

java读取XML文件的四种方式

發(fā)布時間:2025/7/14 asp.net 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java读取XML文件的四种方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

java讀取XML文件的四種方式

Xml代碼
  • <?xml version="1.0" encoding="GB2312"?>??
  • <RESULT>??
  • <VALUE>   ??
  • ??<NO>A1234</NO>   ??
  • ??<ADDR>河南省鄭州市</ADDR>??
  • </VALUE>??
  • <VALUE>   ??
  • ??<NO>B1234</NO>   ??
  • ??<ADDR>河南省鄭州市二七區(qū)</ADDR>??
  • </VALUE>??
  • </RESULT>??
  • 第一種 DOM 實現(xiàn)方法 import java.io.File; import javax.xml.parsers.D

     xml文件  <?xml version="1.0" encoding="GB2312"?>
      <RESULT>
      <VALUE>
      <NO>A1234</NO>
      <ADDR>四川省XX縣XX鎮(zhèn)XX路X段XX號</ADDR>
      </VALUE>
      <VALUE>
      <NO>B1234</NO>
      <ADDR>四川省XX市XX鄉(xiāng)XX村XX組</ADDR>
      </VALUE>
      </RESULT>
      第一種 DOM 實現(xiàn)方法
      import java.io.File;
      import javax.xml.parsers.DocumentBuilder;
      import javax.xml.parsers.DocumentBuilderFactory;
      import org.w3c.dom.Document;
      import org.w3c.dom.NodeList;
      public class MyXMLReader2DOM {
      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();
      }
      }
      }


      第二種,DOM4J實現(xiàn)方法
      import java.io.*;
      import java.util.*;
      import org.dom4j.*;
      import org.dom4j.io.*;
      public class MyXMLReader2DOM4J {
      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();
      }
      }
      }


      第三種 JDOM實現(xiàn)方法
      import java.io.*;
      import java.util.*;
      import org.jdom.*;
      import org.jdom.input.*;
      public class MyXMLReader2JDOM {
      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();
      }
      }
      }


      第四種SAX實現(xiàn)方法
      import javax.xml.parsers.SAXParser;
      import javax.xml.parsers.SAXParserFactory;
      import org.xml.sax.Attributes;
      import org.xml.sax.InputSource;
      import org.xml.sax.SAXException;
      import org.xml.sax.helpers.DefaultHandler;
      public class MyXMLReader2SAX extends DefaultHandler {
      java.util.Stack tags = new java.util.Stack();
      public MyXMLReader2SAX() {
      super();
      }
      public static void main(String args[]) {
      long lasting = System.currentTimeMillis();
      try {
      SAXParserFactory sf = SAXParserFactory.newInstance();
      SAXParser sp = sf.newSAXParser();
      MyXMLReader2SAX reader = new MyXMLReader2SAX();
      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);
      }
      }

    總結(jié)

    以上是生活随笔為你收集整理的java读取XML文件的四种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。