XML 及其解析
来源:互联网 发布:网页设计软件 编辑:程序博客网 时间:2024/05/23 18:19
一 XML 介绍
XML(Extensible Markup Language), 可扩展语言。
XML 的设计是为了传输和存储数据,焦点是数据的内容。
XML 的结构如下:
1) XML 声明
XML 总是以一个XML声明来开始,位于文档的第一行。
它指明了XML 的版本和编码方式。
如以下, 版本号为1.0, 编码方式为utf-8。
<?xml version="1.0" encoding="utf-8"?>
2) 元素
XML 必须有一个根元素。比如 android 布局文件的根元素就是布局方式。
XML 的元素有以下4种:
1) 空元素
如:<strdent />
2) 带属性的空元素
如: <student name:"zhang" age="20"/>
3)带有内容的元素
如 :
<student >
<name>zhang</name>
<age>20</age>
</student>
4) 带有内容和属性的元素
<student
name="zhang">
<age>20</age>
</student>
3 注释
XML 的注释方式如下:
<!-- This is a comment -->
二 XML 的解析
这里主要介绍一下SAX 方式解析 XML。
SAX主要方法位于org.xml.sax包。
事件源是XMLReader,它用parser()方法来解析XML 文档。
事件处理器是org.xml.sax包中的ContentHandler,DTDHandler,ErrorHandler,EntityResolver。
为了方便程序的编写。 SDK 提供了DefaultHandler 继承了以上的事件处理器。
1. 获得XMLReader, 并解析文件
SAXParserFactory spfactory = SAXParserFactory.newInstance(); SAXParser saxParser = spfactory.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); xmlReader.setContentHandler(new DefaultHandler); InputSource source = new InputSource(new StringReader(XMLFILE)); xmlReader.parse(source);
2. 实现DefaultHandler
要实现XML 的解析, 必须重写DefaultHandler
public class DefaultHandler implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler{ //开始解析文档 public void startDocument () throws SAXException { // no op } //文档解析结束 public void endDocument () throws SAXException { // no op } //开始解析节点 public void startElement (String uri, String localName, String qName, Attributes attributes) throws SAXException { // no op } //结束解析节点 public void endElement (String uri, String localName, String qName) throws SAXException { // no op } //保存节点内容,ch[] 为节点内容,start 为节点开始,length 为节点内容长度 public void characters (char ch[], int start, int length) throws SAXException { // no op }}
XML 的解析通常需要根据XML 预先定义的元素结构建立 元素类。
在 characters (charch[], intstart, intlength) 中保存到元素类。
- XML、JSON及其解析
- XML、JSON及其解析
- XML、JSON及其解析
- XML、JSON及其解析
- XML、JSON及其解析
- XML、JSON及其解析
- XML 及其解析
- XML、JSON及其解析
- XML、JSON及其解析
- XML、JSON及其解析
- 解析Server.xml及其应用
- ehcache.xml全文及其解析
- xml基础及其解析原理
- XML和JSON及其解析
- XML代码创建及其解析
- XML、JSON及其解析详解
- xml基础及其解析xml文档
- 10分钟掌握XML、JSON及其解析
- IDEA中添加xml配置文件时,显示file
- 345. Reverse Vowels of a String
- 树形DP(HDU4616)
- Mysql写入数据的错误,很容易忽视掉!
- [bzoj4930][SDOI省队集训2017]棋盘
- XML 及其解析
- 设计模式---策略模式
- mysql数据库导入和导出
- 怎么将硬盘GPT分区转换为MBR分区模式
- PHP正则表达式
- 自定义广播
- Eclipse常用设置
- 免费的论文查重网站
- Java程序性能优化