xml学习笔记

xml编程语言

名称:可扩展标识语言,可根据自己的需求定义自己的标签
作用:xml主要用于存储数据

xml语法

xml是对html的补充,xml是纯文本,重点在于传输,html重点在于数据的显示
1:HTML
是从XML演化出来的一种编程语言,XML与HTML是父子关系
2.HTML绝大多数语法都来自于XML
3.一个XML文档必须以一个【根目录标签】开始,其他标签作为【根目录标签】的直接子标签或间接子标签
4.HTML标签对于英文字母大小写忽略不计,但是XML区分大小写
5.HTML标签中属性的内容可以通过一对"“包含也可以不用,但是XML必须包含(”"或’’)

xml文档形成一种树结构
xml必须包含根元素,该元素是其他所有元素的父元素
所有XML元素都必须有关闭标签
xml中,文档中的空格不会被删节

xml文档读取方式

1.SAX读取方式
根据开发人员需要,一次将若干个满足条件的标签加载到内存中
优点:可以节省内存
缺点:读取大量标签,运行效率相对较低
2.DOM读取方式
一次性将xml文档内容加载到内存中
缺点:浪费内存
优点:如果读取大量标签信息,此时由于是在内存中进行定位,所以运行速度较快
3.实际开发过程中,一般都采用dom方式读取

xml约束文档

1.作用

  1. 设置可以在当前xml文档声明的标签类型名

  2. 设置可以在标签中出现的属性名

  3. 设置标签之间的父子关系和兄弟关系
    2.xml约束文档分类

  4. DTD约束文档:简单约束文档

  5. SCHEMA约束文档:高级约束文档
    约束文档实例:

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

<!ELEMENT web-app(servlet*,servlet-mapping*,welcome-file-list?)>
<!ELEMENT servlet (servlet-name,description?,(servlet-class|jsp-file))>
<!ELEMENT servlet-mapping (servlet-name,url-pattern) >
<!ELEMENT servlet-name (#PCDATA)>
<!ELEMENT servlet-class(#PCDATA)>
<!ELEMENT url-pattern(#PCDATA)>

<!ELEMENT welcome-file-list (welcome-file+)>
<!ELEMENT welcome-file(#PCDATA)>

<!ATTLIST web-app version CDATA #IMPLIED>

绑定一个dtd约束文档

<!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">

代码解释:

1)<!ELEMENT 标签类型名>:声明可以在xml文档中出现标签类型名
2)<!ATTLIST 标签类型名 属性名>:声明可以在当前标签内部使用属性名称
3)<!ELEMENT 标签类型名(子标签名?)>:子标签可以出现在父标签内部,也可以不出现,如果出现只能只能出现一次
4)<!ELEMENT 标签类型名(子标签名+)>:子标签必须出现在父标签内部,并可以出现多次
5)<!ELEMENT 标签类型名(#PCDATA)>:当前标签没有子标签
6)<!ELEMENT 标签类型名(子标签名*)>:子标签可以出现在父标签内部,也可以不出现,可以出现多次
7)<!ELEMENT 标签类型名(子标签名)>:子标签必须出现在父标签内部,且只能出现一次
8)<!ELEMENT 标签类型名((子标签名|子标签名2))>:这两个子标签必须又一个出现在父标签中,但是不能同时出现
绑定一个schema约束:

<web-app xmlns="http://www.example.org/web-app_2_5"
				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
				xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
				version="2.5">
</web-app>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值