相关文章推荐
爱喝酒的火车  ·  Element UI DatePicker ...·  1 月前    · 
刚分手的马铃薯  ·  sql语句,根据id查询所有子级,包括当前父 ...·  1 年前    · 
帅气的洋葱  ·  EventSource 引发的一系列事件 - 掘金·  1 年前    · 
飞奔的口罩  ·  json报文中增加转义字符_51CTO博客_ ...·  1 年前    · 
大力的手链  ·  Qt:66---随机数的使用(qsrand( ...·  1 年前    · 
胆小的签字笔  ·  python图像中心裁剪 ...·  1 年前    · 
Code  ›  java读取xml文件开发者社区
string xml语言 element
https://cloud.tencent.com/developer/article/1064329
踢足球的火龙果
1 年前
作者头像
Java帮帮
0 篇文章

java读取xml文件

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > Java帮帮-微信公众号-技术文章全总结 > java读取xml文件

java读取xml文件

作者头像
Java帮帮
发布 于 2018-03-16 17:29:32
2K 0
发布 于 2018-03-16 17:29:32
举报

xml文件:

Xml代码

  <?xml version=”1.0” encoding=”GB2312”?>  
  <RESULT> 
  <VALUE> 
  <NO>A1234</NO> 
  <ADDR>河南省郑州市</ADDR> 
  </VALUE> 
  <VALUE> 
  <NO>B1234</NO> 
  <ADDR>河南省郑州市二七区</ADDR> 
  </VALUE> 
  </RESULT>

第一种 DOM 实现方法:

Java代码

    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()); 
  System.out.println(“运行时间:” + (System.currentTimeMillis() - lasting) 
  + ”毫秒”); 
  } catch (Exception e) { 
  e.printStackTrace(); 
  }

第二种,DOM4J实现方法:

Java代码

    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”)); 
  System.out.println(“运行时间:” + (System.currentTimeMillis() - lasting) 
  + ”毫秒”); 
  } catch (Exception e) { 
  e.printStackTrace(); 
  }

第三种 JDOM实现方法:

Java代码

    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()); 
  System.out.println(“运行时间:” + (System.currentTimeMillis() - lasting) 
  + ”毫秒”); 
  } catch (Exception e) { 
  e.printStackTrace(); 
  }

第四种SAX实现方法:

Java代码

 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)); 
 
推荐文章
爱喝酒的火车  ·  Element UI DatePicker 监听年月切换按钮并获取变更_elementuidatepicker按钮触发
1 月前
刚分手的马铃薯  ·  sql语句,根据id查询所有子级,包括当前父级(无限层级)-CSDN博客
1 年前
帅气的洋葱  ·  EventSource 引发的一系列事件 - 掘金
1 年前
飞奔的口罩  ·  json报文中增加转义字符_51CTO博客_json字符串双引号转义
1 年前
大力的手链  ·  Qt:66---随机数的使用(qsrand()、qrand())_qsrand和qrand_董哥的黑板报的博客-CSDN博客
1 年前
胆小的签字笔  ·  python图像中心裁剪 用python对图像进行裁剪_mob6454cc636c54的技术博客_51CTO博客
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号