发表于: 2017-11-06 20:21:08
1 718
今天完成的事情:
学习XML有关知识;
什么是XML
1.XML全称是Extensible Markup Language,意思是可扩展的标记语言。XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。
2.设计的宗旨是配置文件(现在),而不是显示数据。
3.区分大小写,XML是对HTML的补充。
文档说明
1.<?xml version="1.0" encoding="utf-8"?>
2.格式:<?xml开头 ?结尾> 必须从文档的0行0列开始;
元素
1.元素是XML文档中的重要组成部分
2.命名:区分大小写,不能使用空格冒号,不建议以XML、xml、Xml开头
属性
1.属性上是元素的一部分,它必须出现在元素的开始标签中
2.属性的格式:属性名=属性值,其中属性值必须使用单引或双引
3.一个元素可以有多个属性,但不能出现同名属性
4.属性名不能使用空格、冒号等特殊字符,且必须以字母开头
注释
<!-- -->
转义字符
例如:< > ' " &
CDATA区
格式:<![CDATA[
if(a>b&&b<c){}
]]>
1.当大量的转义字符出现在XML文档中,会使XML文档的可读性大幅度降低。这时如果使用CDATA段就会好一些
2.在CDATA区的特殊符号无需转义字符!
DTD语法
1.内部DTD
2.外部DTD
1.本地DTD(SYSTEM)
2.公共DTD(PUBLIC)
DTD一般不用自己写
元素声明
<!ELEMENT >
符号:
() 用来给元素分组
? 表示该对象可以出现,但只能出现一次或不出现
* 表示该对象允许出现任意次数
+ 表示该对象最少出现一次
| 表名在列出的对象中选择一个
, 表示对象必须按指定的顺序出现
不写表示必须且只出现一次
属性声明
1.语法:<!ATTLIST 元素名
属性名 属性类型 约束
...
>
2.元素名:属性必须是给元素添加,必须先确定元素名
3.属性类型:W3CSchool
#IMPLIED 属性不是必须的
Schema约束(XSD)
1.是新的XML文档约束
2.要比DTD强大的多,是DTD替代者
3.本身是XML文档,扩展名为XSD
4.功能更强大,数据类型更完善
5.支持名称空间
XML解析方式:
1.DOM(Java常用)
将文档一次性加载到内存形成树形结构,进行解析
优点:方便对树形结构进行操作,可以进行增删改的操作
确定:如果文档特别大,加载到内存,容易导致内存溢出
2.SAX
事件驱动方式,边读边解析
优点:如果文档大,不会导致内存溢出
缺点:只能读,逐行后将资源释放;不能进行增删改操作
3.PULL
Android内置的XML解析方式,类似SAX
解析器
JAXP
JDom
jsoup(一种处理HTML特定的解析开发包)
dom4j(比较常见)
DOM中的核心概念是节点,在XML文档中的元素、属性、文本等,在DOM中都是节点
今日代码:
==========================================================================
明天计划的事情:
学习tomcat
遇到的问题:
没什么问题;
收获:
能够根据约束文件,写出XML文件
评论