Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常用的方法:DOM 实现方法、DOM4J 实现方法、JDOM 实现方法和SAX 实现方法。 DOM 实现方法 DOM(Document Object Model)是 W3C 推荐的 XML 文件处理标准。使用 DOM 方法读取 XML 文件需要以下步骤: 1. 创建 DocumentBuilderFactory 对象 2. 创建 DocumentBuilder 对象 3. 解析 XML 文件 4. 获取元素节点列表 5. 遍历元素节点列表,获取元素值 下面是使用 DOM 方法读取 XML 文件的示例代码: ```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 args[]) { 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 实现方法 DOM4J 是一个基于 DOM 的 Java 库,提供了更加简洁和高效的 XML 文件处理方式。使用 DOM4J 方法读取 XML 文件需要以下步骤: 1. 创建 SAXReader 对象 2. 读取 XML 文件 3. 获取根元素 4. 遍历元素节点列表,获取元素值 下面是使用 DOM4J 方法读取 XML 文件的示例代码: ```java import java.io.*; import java.util.*; import org.dom4j.*; import org.dom4j.io.*; public class MyXMLReader2DOM4J { public static void main(String args[]) { 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 实现方法 JDOM 是另一个基于 DOM 的 Java 库,提供了更加简洁和高效的 XML 文件处理方式。使用 JDOM 方法读取 XML 文件需要以下步骤: 1. 创建 SAXBuilder 对象 2. 读取 XML 文件 3. 获取根元素 4. 遍历元素节点列表,获取元素值 下面是使用 JDOM 方法读取 XML 文件的示例代码: ```java import java.io.*; import java.util.*; import org.jdom.*; import org.jdom.input.*; public class MyXMLReader2JDOM { public static void main(String args[]) { long lasting = System.currentTimeMillis(); try { SAXBuilder builder = new SAXBuilder(); Document doc = builder.build("data_10k.xml"); Element root = doc.getRootElement(); Element foo; for (Iterator i = root.getChildren("VALUE"); i.hasNext();) { foo = (Element) i.next(); System.out.print("车牌号码:" + foo.getChildText("NO")); System.out.println("车主地址:" + foo.getChildText("ADDR")); } } catch (Exception e) { e.printStackTrace(); } } } ``` SAX 实现方法 SAX(Simple API for XML)是另一种 XML 文件处理方式,使用事件驱动模型处理 XML 文件。使用 SAX 方法读取 XML 文件需要以下步骤: 1. 创建 SAXParserFactory 对象 2. 创建 SAXParser 对象 3. 解析 XML 文件 4. 处理事件 下面是使用 SAX 方法读取 XML 文件的示例代码: ```java import java.io.*; import org.xml.sax.*; import org.xml.sax.helpers.*; public class MyXMLReader2SAX { public static void main(String args[]) { long lasting = System.currentTimeMillis(); try { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); parser.parse("data_10k.xml", new MyHandler()); } catch (Exception e) { e.printStackTrace(); } } } class MyHandler extends DefaultHandler { public void startElement(String uri, String localName, String qName, Attributes attributes) { if (qName.equals("VALUE")) { System.out.print("车牌号码:"); } } public void characters(char[] ch, int start, int length) { System.out.print(new String(ch, start, length)); } public void endElement(String uri, String localName, String qName) { if (qName.equals("NO")) { System.out.println(); } } } ``` 以上四种方法都可以读取 XML 文件,但是每种方法都有其优缺,选择哪种方法取决于实际情况。
剩余9页未读,继续阅读
- 小叮当2012-07-06不错,四种解析方法都讲了,可以对xml解析有比较全面的了解了,而且可以对四种解析方法有个比较
- 小新是码农2012-05-14其中四种方法里面 本来我用系统自带的那个~ 但是最后还是用DOM4J 组长说这方法检索效率高~!
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 一个基于JAVA的类魔塔小游戏 a Java based MagicTowerlike game.zip网络安全
- 基于 SpringBoot 开发的员工的季度绩效考核系统.zip
- 微信自动抢红包动态库.zip程序资源学习资料参考
- 新年快乐的烟花代码.zip
- kotlin 实践微信插件助手, 目前支持抢红包(支持微信最新版本 7.0.0及7.0.3).zip
- 多模态大模型在视觉领域的全面调查
- iOS微信自动抢红包和防撤回插件.zip小程序
- 富士打印机(DocuCentre S2110)打印、扫描驱动下载
- 升腾威讯C73N笔记本无线网卡Win10驱动(稳定支持WiFi6)
- Java Web实验报告三:基于Jquery的表单验证插件