(17)XML解析技术
来源:互联网 发布:nw.js 窗口最大化 编辑:程序博客网 时间:2024/06/06 07:06
11,09,28
今天课堂主要内容:
ENTITY 实体定义。 ELEMENT 元素定义。 ATTLIST 属性定义。
<学生列表>
<学生> </学生>
<学生> </学生> 空白地方是文本内容
</学生列表>
<!ATTLIST 学生 性别 CDATA “男”
班级 CDATA #REQUIRED>
等价于
<!ATTLIST 学生 性别 CDATA “男”>
<!ATTLIST 班级 CDATA #REQUIRED>
下面老师对昨天的作业进行了讲解。才发现自己做的作业 有很多知识还是很模糊的,不是很理解。
新课:今天主要就是讲了XML的解析技术。
1、对xml进行解析的标准有两种,sax以及dom。
dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式,dom是真正的国际标准。
dom实现的原理是把整个xml文档一次性读出,放在一个树型结构里。在需要的时候,查找特定节点,然后对节点进行读或写。
优点:实现简单。 缺点:比较占内存。
2、sax:(Simple API for XML) 不是官方标准,是事实的标准,几乎所有的 XML 解析器都支持它。
sax的实现方法和dom不同。他只在xml文档中查找特定条件的内容,并且只提取需要的内容。
优点:占用内存小,灵活。 缺点:就是写。
3、xml解析器:Crimson、Xerces、Aelfred2
4、开发工具包:Jaxp、Jdom、dom4j
Jaxp 由javax。xml org.w3c.dom org.xml.sax 包及子包组成
编写java程序完成xml文档的解析 dom解析器 用javax.xml.parsers包下的类来创建对象。
DocumentBuilder的对象是dom解析器 通过对应的工厂类创建 DocumentBuilderFactory. Factory=DocumentBuilderFactory.newInstance();
DocumentBuilder db=factory.newDocumentBuilder();
对xml文档进行相应的解析
导入包 or。w3c、dom
5、// (1)先生成工厂类的对象
DocumentBuilderFactory factor=DocumentBuilderFactory.newInstance();
//(2)生成解析器对象
DocumentBuilder db=factor.newDocumentBuilder();
//(3)对xml文档进行解析
Document doc=db.parse(new File("src/BOOK.xml"));
//(4)读取book.xml文档中到底有几个节点?节点的名称是什么,类型是什么以及节点它的值是什么?
System.out.println(doc.getChildNodes().getLength());//只有一个儿子,就是根节点。getChildNodes()得到几个孩子。getLength() 得到有几个儿子
Org.w3c.dom Node类。 处理节点 节点类型
appendChild(Node newCharild) 添加到此末尾一个新的节点
getNodeValue() 元素节点为空。 文本节点为文本
getNodeName() 得到该节点的名称 元素节点返回名称
getNodeType() 得到该节点的类型
总结一下今天的心情:对于学习,有点小迷糊。理解的还不是很透彻。对于生活,我只想说俩字:无奈啊!!
- (17)XML解析技术
- dom解析xml技术
- 解析XML技术概览
- XML解析技术
- XML解析技术
- XML解析技术一览
- XML解析技术浅谈
- XML文档解析技术
- XML 解析技术
- java解析xml技术
- XML解析技术概述
- xml解析技术
- xml解析技术
- XML解析技术
- Android XML解析技术
- XML解析技术
- android XML解析技术
- XML解析技术一
- c/c++常见面试题,希望能给找工作的朋友一点帮助
- 重写、覆盖、重载、多态几个概念的区别分析
- Architecture Design - 1 What is Architecture
- oracle数据库常用命令的整理
- 最大流Edmonds-Karp算法头文件C++
- (17)XML解析技术
- Linux 内核参数 和 Oracle相关参数调整
- 最大流Edmonds-Karp算法实现文件C++
- ARM嵌入式常用开发工具介绍及插画开发流程(更新)
- 最大流Edmonds-Karp算法驱动文件C++
- 30个漂亮的网站
- 面向服务架构的主数据管理解决方案
- 多媒体支持
- Android堆栈错误