XML的2种读取方式
来源:互联网 发布:游戏王网络小龙 编辑:程序博客网 时间:2024/05/08 05:55
DOM
将XML文档换成一个对象模型的集合(DOM树),应用程序通过对模型的操作完成对XML数据的操作
File xmlfile=new File("D:/MyEclipse 10/test/WebRoot/NewFile.xml");DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();DocumentBuilder builder=null;try{ builder=factory.newDocumentBuilder();}catch(ParserConfigurationException e){ e.printStackTrace();}org.w3c.dom.Document doc=null;if(builder!=null){ try{ doc=builder.parse(xmlfile); }catch(SAXException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); }}if(doc!=null){ NodeList nl=doc.getElementsByTagName("name"); System.out.println(nl.item(0).getFirstChild().getNodeValue());}
SAX
按顺序访问
package tets;import java.io.File;import java.io.IOException;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class ReadXMLBySAX { public static void main(String[] args) { File xmlfile = new File("D:/MyEclipse 10/test/WebRoot/NewFile.xml"); SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser paser; try { paser = factory.newSAXParser(); paser.parse(xmlfile, new SAX()); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}class SAX extends DefaultHandler { @Override public void startDocument() throws SAXException { System.out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); } @Override public void endDocument() throws SAXException { System.out.println("\n 文档读取结束"); } @Override public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException { System.out.print("<" + name); if (attributes != null) { for (int i = 0; i < attributes.getLength(); i++) { System.out.print(" " + attributes.getQName(i) + "=\"" + attributes.getValue(i) + "\""); } } System.out.print(">"); } @Override public void endElement(String uri, String localName, String name) throws SAXException { System.out.print("</" + name + ">"); } @Override public void characters(char[] ch, int start, int length) throws SAXException { System.out.print(new String(ch, start, length)); }}
hibernate和spring框架都是用DOM4J读取xml配置文件的,另外还有一个Java组件 JDOM=DOM的修改文件+SAX的读取快速
0 0
- XML的2种读取方式
- Java读取xml的四种方式
- Java读取xml的四种方式
- Flex读取XML的两种方式
- 读取xml Rss 的两种方式
- 读取xml文件的方式
- 二种读取xml方式
- xml 4种读取方式
- java的文件xml读取,4种方式的不同
- 使用dom4j读取xml文档的四种方式
- 使用dom4j读取xml文件的四种方式
- java读取xml文件的两种方式
- java读取XML文件的四种方式
- java读取XML文件的两种方式
- java读取XML文件的四种方式及比较
- java读取XML文件的四种方式
- java读取XML文件的四种方式
- PHP读取XML文件的三种方式
- 自旋锁(spinlock) 解释得经典,透彻
- iOS开发Xcode使用github托管代码
- 跟开涛学SpringMVC(4.6):Controller接口控制器详解(6)
- 为SSH登录建立双因子验证机制(谷歌身份验证器)
- Java NIO使用及原理分析(三)
- XML的2种读取方式
- Android Studio打开Eclipse项目
- Android 广播的使用方式
- 跟开涛学SpringMVC(4.7):Controller接口控制器详解(7)
- eclipse配置作者和时间
- Java NIO使用及原理分析 (四)
- android保存bitmap到sdcard
- android中tesseract-ocr的介绍
- 冒泡