使用Dom4解析xml
XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。
XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。
XML的解析方式分为四种:1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。
其中前两种属于基础方法,是官方提供的平台无关的解析方式;
后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于java平台。
---使用DOM4J解析xml
package com.dom.test; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import java.io.File; import java.io.FileWriter; import java.io.Writer; import java.util.Iterator; public class Document { /** * 建立XML文档 * * @param fileName * 文件全路径名称 */ public void createXml(String fileName) throws Exception { org.dom4j.Document document = DocumentHelper.createDocument();// 创建document对象 Element employee = document.addElement("employee"); // 添加一个节点 Element name = employee.addElement("name"); // 为节点添加一个属性 name.setText("张雨"); Element sex = employee.addElement("sex"); // 为 节点添加一个性别属性 sex.setText("男"); Element age = employee.addElement("age"); // 为节点添加年龄属性 age.setText("19"); Writer fileWriter = new FileWriter(fileName); XMLWriter xmlWriter = new XMLWriter(fileWriter); xmlWriter.write(document); xmlWriter.close(); // 关闭流 } /** * 解析XML文档 * @param fileName 文件全路径名称 */ public void parserXml(String fileName) { File inputXml = new File(fileName); SAXReader saxReader = new SAXReader(); try { org.dom4j.Document document = saxReader.read(inputXml); //SAX生成和解析XML文档 Element employees = document.getRootElement(); //获得根节点 Iterator it = employees.elementIterator(); while (it.hasNext()) { Element node = (Element) it.next(); System.out.println(node.getName()+":"+node.getText()); } } catch (DocumentException e) { e.printStackTrace(); } } public static void main(String[] args) throws Exception{ //new Document().createXml("F:\\student.xml"); new Document().parserXml("F:\\student.xml"); } }

浙公网安备 33010602011771号