脚本宝典收集整理的这篇文章主要介绍了java读取XML文件的四种方式及比较的代码实例详细介绍,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。1)DOM(JAxp Crimson解析器)
<?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE> <NO>A1234</NO> <ADDR>四川省XX县XX镇XX路X段XX号</ADDR> </VALUE> <VALUE> <NO>B1234</NO> <ADDR>四川省XX市XX乡XX村XX组</ADDR> </VALUE> </RESULT>
Dom4j_xml.java
package com.ibm.xml; import java.io.*; import java.util.*; import org.dom4j.*; import org.dom4j.io.*; public class Dom4j_xml { public static void main(String arge[]) { long lasting = System.currentTimeMillis(); try { File f = new File("src/com/ibm/xml//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_xml.java
package com.ibm.xml; import java.io.*; import java.util.*; import org.jdom.*; import org.jdom.input.*; public class JDom_xml { public static void main(String arge[]) { long lasting = System.currentTimeMillis(); try { SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(new File( "src/com/ibm/xml//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(); } } }Dom_xml.java
package com.ibm.xml; 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 Dom_xml { public static void main(String arge[]) { long lasting = System.currentTimeMillis(); try { File f = new File("src/com/ibm/xml//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(); } } }SAX_xml.java
package com.ibm.xml; 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 SAX_xml extends DefaultHandler { java.util.Stack<String> tags = new java.util.Stack<String>(); public SAX_xml() { super(); } public static void main(String args[]) { long lasting = System.currentTimeMillis(); try { SAXParserFactory sf = SAXParserFactory.newInstance(); SAXParser sp = sf.newSAXParser(); SAX_xml reader = new SAX_xml(); sp.parse(new InputSource("src/com/ibm/xml//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 = 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); } }
以上就是java读取XML文件的四种方式及比较的代码实例详细介绍的详细内容,更多请关注脚本宝典其它相关文章!
以上是脚本宝典为你收集整理的java读取XML文件的四种方式及比较的代码实例详细介绍全部内容,希望文章能够帮你解决java读取XML文件的四种方式及比较的代码实例详细介绍所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。