Javaweb之xml基础

版权声明:版权所有,如需引用,请注明出处! https://blog.csdn.net/DHRMM999/article/details/82352660

什么是XML

xml是可扩展的标记语言,类似html。他的宗旨是传输数据而非显示数据。
xml标签没有被预定义,需要用户自己定义标签。
xml是一种通用的数据交换格式

xml常见应用

用于数据传输,使用xml格式进行数据传输,具有可读性和维护性
xml技术除了应用在保存数据关系外,还经常适用于软件配置文件。
xml可以提高软件的灵活性

xml语法

  • 文档声明
  • 元素
  • 属性
  • 注释
  • CDATA区 特殊字符
  • 处理指令

在编写xml文档时,需要先使用文档声明来xml文档。并且在第一行。

<?xml versio="1.0"?>

声明编码:encoding=“uft-8”
是否依赖其他文档 standalone = “yes”
xml元素是指在xml中出现的标签。开始及结束标签。
xml标签中出现的所有空格和换行都会在解析过程中当作标签内容处理。
一个xml元素可以包含字母,数字以及其他的一些可见字符,但必须遵循以下规则:

  • 区分大小写
  • 不能以数字或下划线开头
  • 不能以xml开头
  • 不能包含空格
  • 名称中间不能包含冒号

一个元素可以有多个属性,每个属性都有自己的取值和名称。
属性值一定要有双引号或单引号引起来
属性名称规范和元素命名规范相同
元素的属性值是不允许重复的
xml注释语法:
xml声明之前不能有注释
注释不能嵌套

CDATA区

CDATA是character data的缩写
作用:把标签当作普通文本内容

<![CDATA[
    **<cast>www.91xiaoletao.com</cast>**
    ]]>

*号部分是普通文本内容

处理指令

处理指令,简称PI
作用:用于指挥软件如何解析xml文档
语法:

xml语法规则总结

  • 所有xml元素必须有关闭标签
  • xml区分大小写
  • xml必须正确嵌套顺序
  • 属性值必须加引号
  • 特殊字符必须转义CDATA
  • xml空格回车解析时会被保留

xml约束DTD

xml中都是用户自定义的标签,如果出现错误,程序将不能运行。所以,可以编写一个文档来约束xml书写规范。
两个概念:
1.格式良好的xml,遵循xml语法的xml
2.有效的xml,遵循约束文档的xml
总之,约束文档定义了在xml中允许出现的元素名称,属性,和出现顺序等。

xml约束概述

什么是xml约束:在xml技术里,可以编写一个文档来约束xml文档书写规范,称为xml约束
常用的xml约束:xml DTD / XML Schema

DTD约束
DTD称为文档类型定义,DTD约束可以作为一个单独的文件编写,也可以在xml文件内编写

  • 使用内部DTD
  • 使用外部DTD
  • 使用公钥DTD

当引用文件在本地时:

<!DOCTYPE 根元素 SYSTEM "DTD文档路径">

当引用文件在公共网络时,采用如下方式

<!DOCTYPE web-app PUBLIC "HTTP://java.sun.com/dtd/web-app_2_3.dtd">

DTD约束语法细节
元素定义
属性定义
实体定义

DTD定义元素

在DTD文档中声明一个xml元素

语法:<!ELEMENT 元素名称 使用规则>
    定义子元素描述他们之间的关系
    如果用,分开,则必须按照声明的顺序书写
    <!ELEMENT FILE (TITLE,AUTHOR,EMAIL)
    如果是“|”分开,则任选其一。
    <!ELEMENT FILE (TITLE|AUTHOR|EMAIL)
    用+,*,?表示出现的次数
    +:至少出现一次
    *:可有可无
    ?:一次或0次

属性ATTLIST定义

<!ATTLIST 元素名称 
    属性名 属性类型 约束
    属性名 属性类型 约束
    >
    eg:
    <ATTLIST 商品
        类别 CDATA #REQUIRED 必选的
        颜色 CDATA #IMPLIED 可选的
    >
    对应的xml是:<商品 类别 = “服装” 颜色 = “黄色>

属性值类型:
CDATA:表示属性的取值为普通的文本字符串
属性约束说明:
#REQUIRED:表示该属性是必选的
#IMPLIED 表示该属性是可选的
#FIXED:表示该属性是去一个固定值 #FIXED “固定值”
直接值:表示属性的取值为默认值

<!ATTLIST 页面作者
    姓名:CDATA #IMPLIED
    年龄:CDATA #IMPLIED
    联系信息:CDTA #REQUIRED
    网站职务:CDATA #FIXED "页面作者"
    个人爱好:CDATA "上网"
>

实体定义

实体用于为一段内容创建一个别名,以后在xml文档中就可以使用别名引用这段内容了。
在DTD定义中,一条

DTD中定义
<!ENTITY COP "111111">
XML中引用
&cop;

猜你喜欢

转载自blog.csdn.net/DHRMM999/article/details/82352660
今日推荐