Xml1

来源:互联网 发布:二级域名 端口号 编辑:程序博客网 时间:2024/05/21 11:05
1.MyEclipse的安装

2.表单的提交方式

3.xml的用途
xml是为了存储数据,需要用户自己定义,是w3c发布的技术
可以用于不同系统之间的数据传输,可以用于表示关系,经常用于文件配置

4.xml语法
<?xml version="1.0" encoding="gbk"?>
<person>

</person>
属性:version版本 encoding编码 gbk utf-8 iso8859-1
standalone true false 是否需要依赖其他文件

5.xml中文乱码问题解决
encoding为打开时候的编码,需要设置时候的编码跟它一致,才不会出现乱码

6.xml标签的定义
标签有开始必须有结束,标签没有内容,可以标签内结束(如<aa/>),标签必须合理嵌套。一个xml中只能有一个跟标签,其他的标签都是它下面的标签

xml中把换行跟空格都会当成内容解析!!

xml区分大小写,不能以数字和下划线开头,不能以<xml>开头,标签内不能包含空格和冒号等,但是标签可以是中文

7.xml属性的定义
一个标签可以有多个属性,属性名称不能相同,属性值可以是单引号或者双引号
<!-- -->用来注释xml

8.xml特殊字符
如果我们需要显示特殊字符需要进行转义操作,如<&lt
<![CDATA[内容]]>也可以原样显示

9.PI指令
新建一个css文件,里面可以用来引入样式
首先,头文件下引入如下代码
<?xml-stylesheet type="text/css" href="css的路径"?>
然后css文件中写样式(直接用标签名写)
但是,它对中文标签不起作用

10.xml的约束
dtd约束和schema约束

dad约束:<!ELEMENT person(name,age)>
<!ELEMENT name(#PCDATA)>
<!ELEMENT age(#PCDATA)>
然后引入dtd约束<!DOCTYPE person SYSTEM "1.dtd">
只有使用工具的时候才校验约束,浏览器不校验,例如MyEclipse可以校验

也可以直接加dtd到xml中<!DOCTYPE person[
<!ELEMENT >
....
]>

或者使用网络中的dtd文件,如下:
<!DOCTYPE struces2 PUBLIC DTD名称 DTD的URL>
约束说明:#PCDATA是约束为字符串类型 EMPTY约束为空(不能有内容) ANY任意
+一次或多次出现 ?0次或者一次 *不限次数 ,来排元素出现的顺序 |只能出现其中的任意一个

使用dtd定义属性
<!ATTLIST 元素名称
属性名称 属性类型 属性的约束
>
属性类型:
CDATA(后面跟个具体的字符串可以表示默认值,不写的话用它,写的话用设置的值) 字符串  
**(aa|bb|cc) 只能出现其中的一个(枚举类型)

ID 只能用字母或下划线开头

属性的约束:
#REQUIRED 必须出现
#IMPLIED 属性可有可无
#FIXED 表示一个固定值(必须是设定的固定值)

<!ENTITY TEXT "hahaehhe">(它需要写在内部dtd里面,不能写在外部的dtd,否则某些浏览器不能用)通过&TEXT可以引入这个实体

11.W3C
可以查xml的一些规则

12.xml解析
可以用dom和sax解析
dom它会将xml在内存中分配一个树形结构,每部分都封装成对象,但是当文件过大的时候会造成内存溢出,但是很方便增删改操作
sax采用事件驱动,它会从上到下,边读边操作,一行一行解析,解析到某一个对象的时候,把对象的名称返回。不会造成内存溢出,方便查询,但是不能实现增删改操作
jaxp解析器,dom4j解析器(**实际开发用**),jdom解析器都可以用这两种方式解析

13.jaxp
jaxp是javase中的一部分,javase文档中的parser包下有它的api
获取所有name的text文本值
查询某一个name的text文本值
使用jaxp添加节点
使用jaxp修改节点
使用jaxp删除节点
使用jaxp遍历节点(递归操作)
原创粉丝点击