• 读取xml数据文件(转)


    java里有个properties类  可以用它来读取XML文件  
     
    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(); 

    ry {  
    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 = 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) .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) {  
    .push(qName);  }  }

  • 相关阅读:
    第十三章 类继承
    第十一章 使用类
    第十章 对象和类
    第九章 内存模型和名称空间
    第八章 函数幽探
    史上最详细得虚拟机安装过程,傻瓜式操作
    JVM内存结构图表展示
    主流消息队列rocketMq,rabbitMq比对使用
    springboot+druid+mybatis plus的多数据源配置
    linux服务器开放防火墙和端口,以及查询状态
  • 原文地址:https://www.cnblogs.com/sunshine-in/p/4071211.html
Copyright © 2020-2023  润新知