参考资料:http://blog.csdn.net/javazat/article/details/3236859
XML概述
- XML 指可扩展标记语言(EXtensibleMarkupLanguage)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
XML.encoding
W3C定义了三条XML解析器如何正确读取XML文件的编码的规则:
1,如果文挡有BOM(字节顺序标记,一般来说,如果保存为unicode格式,则包含BOM,ANSI则无),就定义了文件编码
2,如果没有BOM,就查看XML声明的编码属性
3,如果上述两个都没有,就假定XML文挡采用UTF-8编码
通常情况下,encoding使用UTF-8,以确保万无一失
XML语法
XSL
XSL 指扩展样式表语言( E Xtensible S tylesheet L anguage)。XSL 包括三部分:
XSLT 一种用于转换 XML 文档的语言。可以将xml转换成html、xhtml
XPath一种用于在 XML 文档中导航的语言。
XSL-FO一种用于格式化 XML 文档的语言。
XPath
XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。
节点(Node)——有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。
项目(Item)——项目是基本值或者节点。
XPath使用路径表达式来选取元素。
XMLHttpRequest 对象
XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。
尽管名为 XMLHttpRequest,它并不限于和 XML 文档一起使用:它可以接收任何形式的文本文档。
XMLHttpRequest 对象是名为AJAX的 Web 应用程序架构的一项关键功能。
XMLHttpRequest 对象还没有标准化,但是 W3C 已经开始了标准化的工作,本手册介绍的内容都是基于标准化的工作草案。
浏览器解析XML
Internet Explorer 使用 loadXML() 方法来解析 XML 字符串,而其他浏览器使用DOMParser 对象。
CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
在 XML 元素中,"<" 和 "&" 是非法的。
CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束。
XML DOM
根据 DOM,XML 文档中的每个成分都是一个节点。
DOM 是这样规定的:
文本总是存储在文本节点中
XML解析
常用的解析器有:
DOM 读入整个xml文档,内存占用高,性能差;建立树形结构并访问,易变成,思路和XML规范符合
JDOMJava 特定文档模型,它简化与 XML 的交互并且比使用 DOM 实现更快。JDOM 仅使用具体类而不使用接口。API 大量使用了 Collections 类
DOM4jDOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。
SAX 事件驱动,不用将所有文档读入内存,性能好;操作文档元素较难,同时无法同时获得同一文档中的不同数据g
综合排名如下:DOM4J、SAX、JDOM、DOM
Xerces集合了DOM,DOM4J,SAX几种解析器的好处
Ibatis 便是使用的JDK自带的Xerces解析XML