从零开始学JAVA记录(XML)——2019年6月4日

今天又是一个学习JAVA的好日子!
超文本标记语言 HTML
(1)写法格式: < a href=“link.html”>link</ a>
(2)关注数据的展示与用户体验
(3)标记是预定义、不可扩展的(如 < a></ a>表示超链接)
可扩展的标记语言 XML
(1)写法格式:同 html 样式
(2)仅关注数据本身
(3)标记可扩展,可自定义

xml 和 Html 语言由同一种父语言 SGML(Standard Generalized Markup Language,标
准通用标记语言)发展出来的两种语言。
xml 由 html 发展而来,与 html 格式相似,但是比 html 严格。
XML 描述的是结构、内容和语义,它不描述页面元素的格式化。
HTML 侧重于如何表现信息,内容描述与显示整合为一体。XML 中的每个元素名都是成对出现的,结束标签前加一个

XML 可以用于描述数据、存储数据、传输(交换)数据。
用 XML 存储已注册用户的数据方式
方式 1

<?xml version="1.0" encoding="UTF-8"?>

< people>
< person>
< name>张三</ name>
< age>28</ age>
</ person>
< person>
< name>李四</ name>
< age>300</ age>
</ person>
</ people>

方式 2

<?xml version="1.0" encoding="UTF-8"?>

< people>
< person name=“张三” age=“28”></ person>
< person name=“李四” age=“300”></ person>
</ people>

格式良好的 xml
1、语法规范:
1)、必须有 XML 文档声明:

<?xml version="1.0"?> <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

2)、必须有且仅有一个根元素
3)、严格区分大小写
4)、属性值用引号(双引号或单引号) :等号分开的名称-值对;在一个元素上,相同的属
性只能出现一次
5)、标记成对;
6)、空标记关闭;
7)、元素正确嵌套。

2、元素命名规则
1)、名称中可以包含字母、数字或者其他可见字符;
2)、名称不能以数字开头;
3)、不能以 XML/xml/Xml…开头;
4)、名称中不能含空格;
5)、名称中不能含冒号(注:冒号留给命名空间使用)

XML 解析(重点)
基本的解析方式有两种:一种叫 SAX,另一种叫 DOM。
SAX(Simple API for XML)是基于事件流的解析,
DOM(Document Object Model)是基于 XML 文档树结构的解析。
SAX:效率高,数据量小,仅一次获取 ,
DOM:整颗树加载到内存中,耗内存,可多次获取。

DOM 解析过程
① 建 立 DocumentBuilderFactory : DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
②建立 DocumentBuilder: DocumentBuilder builder = factory.newDocumentBuilder();
③建立 Document : Document doc = builder.parse(“要解析的文件路径”);
④建立 NodeList : NodeList nl = doc.getElementsByTagName(“读取节点”);
⑤进行 XML 信息读取

SAX 解析
SAX 采用的是一种顺序的模式进行访问,是一种快速读取 XML 数据的方式。
建立一个 SAX 的解析器
// 1、创建解析器工厂
SAXParserFactory factory = SAXParserFactory.newInstance();
// 2、获得解析器
SAXParser parser = factory.newSAXParser();
// SAX解析器 ,继承 DefaultHandler
String path = new File(“resource/demo01.xml”).getAbsolutePath();
// 解析
parser.parse(path, new MySaxHandler());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值