发表于: 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文件


返回列表 返回列表
评论

    分享到