JAVA进行XML解析
来源:互联网 发布:人工智能最好的大学 编辑:程序博客网 时间:2024/06/06 03:08
XML文本的内容
<?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE> <NO>A1234</NO> <ADDR>河南省郑州市</ADDR> </VALUE> <VALUE> <NO>B1234</NO> <ADDR>河南省郑州市二七区</ADDR> </VALUE> </RESULT>
下面是XML的四种解析方式。
package learningxml;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 ReadXML { public static void main(String[] args) { long lasting = System.currentTimeMillis(); try { File f = new File("d:\\xuexi\\learningxml.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(); } }}
第二种方法
package learningxml;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("d:\\xuexi\\learningxml.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(); } }}
第三种方法
package learningxml;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("d:\\xuexi\\learningxml.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(); } } }
第四种方法:
package learningxml;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("d:\\xuexi\\learningxml.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)); } } public void startElement(String uri, String localName, String qName, Attributes attrs) { tags.push(qName); } }
1 0
- JAVA进行XML解析
- Java对XML文档进行解析
- Java对XML文档进行解析---实例
- Java对XML文档进行解析(JAXP-DOM解析)
- Java对XML文档进行解析(SAX、StAX解析)
- Java对XML文档进行解析(dom4j解析)
- 【XML解析】(4)Java下使用DOM4J解析方式对XML文档进行解析
- Java读取WEB-INF下XML文件并进行解析
- Java读取WEB-INF下XML文件并进行解析
- 【XML解析】(1)Java下使用JAXP中的DOM解析方式对XML文档进行解析
- 采用GDataXMLNode进行xml解析
- SAX方式进行XML解析
- sax方法进行xml解析
- Dom4j进行XML的解析
- 使用Dom4j进行XML解析
- java对xml进行的DOM 解析以及如何对网站数据进行加密
- java中使用JAXP解析xml(三)对XML文档中进行增、删、改
- java中采用Pull解析器对XML文件进行解析
- 自定义属性的过程
- Spring 注解方式实现的AOP
- HTML5的Video标签的属性,方法和事件汇总
- 通向架构师的道路(第十一天)之Axis2 Web Service(二)
- 第二天 Css 和JavaScript
- JAVA进行XML解析
- IOI 花店橱窗布置
- dedecms基本概念和操作
- 51nod 1770 数数字【模拟+思维】
- C# winform中读写ini文件
- 【Tomcat】tomcat简单介绍,安装以及启动(一)
- 和君第一次演讲
- 【ARM-Linux开发】gstreamer教程及在DM3730上的应用
- 通向架构师的道路(第十二天)之Axis2 Web Service(三)