XML的解析方式有:
(1)DOM解析方法,可以对XML文档进行修改操作;
(2)SAX解析方法,解析速度快,占用内存少;
(3)JDOM解析方法,查找方便;
(4)DOM4J解析方法,解析XML的速度快;
1.XML简介
XML即可扩展的标记语言,可以定义语义标记(标签),是元标记语言。XML不像超文本标记语言HTML,HTML只能使用规定的标记,对于XML,用户可以定义自己需要的标记。
XML文档以层级标签的形式来组织数据,多用于配置文件、存储静态数据、交换数据。
2.XML语法
1.每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,<?xml version="1.0"?>
2.任何的起始标签都必须有一个结束标签
3.标签必须按合适的顺序进行嵌套,所有结束标签必须按镜像顺序匹配起始标签
4.标签如果有属性,属性值必须加双引号
3.XML文件解析的四种方式
1.DOM解析方法
DOM,文档对象模型(Document Object Model),是官方推荐的模型。DOM是html和xml文档的编程接口规范,和平台、语言无关的。利用DOM规范,能够实现DOM文档和xml之间的相互转换、遍历、操作相应DOM文档的内容。DOM规范的核心就是树模型,全部读取之后再解析。
原理是:首先在内存中创建一个Document对象,然后把XML文档读取进来赋值给这个dom对象。由于dom对象是基于树结构的,所有对dom对象进行遍历即可。对内存种的dom对象可以进行查询、修改、删除操作,还可以写回原XML文档保存修改。
优点:由于整棵树在内存中,因此可以对XML文档随机访问;可以对XML文档进行修改操作;
缺点:整个文档必须一次性解析完;由于整个文档都需要载入内存,对于大文档成本高;
2.SAX解析方法
SAX,简单应用程序接口(Simple Api For Xml)。非W3C官方所提供的标准,是一个程序员社区研究出来的。SAX在概念上与DOM完全不同。非文档驱动,是事件驱动的。事件驱动:一种基于回调机制的程序运行方法。由外至内一层一层解析。
优点:解析速度快,占用内存少,它需要哪些数据再加载和解析哪些内容。
缺点:它不会记录标签的关系,而是需要应用程序自己处理,这样就会增加程序的负担。
3.JDOM解析方法
JDOM是Java和Dom的结合体。JDOM致力于建立一个完整的基于Java平台的、通过Java代码来访问、操作并输出XML数据。JDOM是用Java语言读、写、操作XML的新API函数。简单、高效、优化。
优点:查找方便,可以修改。
缺点:装载整个文档,对内容容量要求高。
4.DOM4J解析方法
DOM4J是一个Java的XML API,类似于jdom,用来读写XML文件的。性能优异、功能强大、简单易用、开放源代码。它是目前最流行、最好用的XML解析工具,解析XML的速度最快。
操作步骤:
(1)创建SAXReader:SAXReader reader = new SAXReader();
(2)创建文件输入流打开xml文件:InputStream in = new FileInputStream("XXX.xml“);
(3)通过reader和输入流读取xml文件到内存创建Document对象:Document dom = reader.read(in);
(4)获取根节点:Element root = dom.getRootElement();
(5)获取子节点列表:List<Element> childNodes = root.elements();
(6)遍历子节点:Element node = childNodes.get(i);
(7)读取节点信息:
1)节点属性值:node.attributeValue("属性名");
2)节点名:node.getName();
3)节点值:node.getValue();
4)子节点文本值:node.elementText(”子节点名“);

4582

被折叠的 条评论
为什么被折叠?



