Day22_Java(8.23)_XML

XML

是什么

**XML(Extensible Markup Language)**可拓展标记语言

做什么

如何做数据持久化

  • 1.使用文件

    • properties文件 键值对

    • 普通文件 序列化

  • 2.使用数据库

<Letter language='en'>
    <To alise="dear" sex="">Money</To>
    <Content>
        <Hello></Hello>
        <Info>ilikeyou</Info>
    </Conent>
    <From alise="your" sex="">Honey</From>
    <Date>
        <Month>aug</Month>
        <Day></Day>
        <Week_Day>
            <name></name>
            <count></count>
        </Week_Day>
    </Date>
</Letter>

XML的语法规则

文档声明

xml的语法一般写在后缀名为xml的文件里

<?XML version="1.0" encoding="utf-8"?>

必须放在xml文件的第一行

注释

<!--注释的内容-->

元素(Element)

也叫节点(Node),标签

语法:文本内容

起名规则:

  • 不能以数字和某些字符开头的,有意义的,简短的英文字符
  • 可以使用任意字符和标点符号,要求确认软件是否支持该字符
  • 不能用的特殊字符:<,&,>,",’,需要别的方式转义
  • 大小写敏感
  • 不推荐是一个"-",".",":"来作为单词之间的连接,容易出现歧义,推荐使用下划线_

特点:

  • 根元素有且只有一个
  • 元素的标签必须成对出现,
  • 标签可以嵌套,但不允许交叉嵌套

属性(Attribute)

属性一般写在标签的内部,结构为属性名=“属性值”,多个属性可以用空格隔开,单引号和双引号都可以.

实体

语法:&实体的名字

使用方式

实体字符简介
&lt;<Less than
&gt;>Greather than
&amp;&mpersand
\apos;Apostorphe
&quot;"Quotation
  • 2.自己定义实体

    <!DOCTYPE 根元素名称[
    	<!ENTITY 实体名 实体内容>
    ]>
    

CDATA

XML约束

DTD约束
  • 约束元素

    <!ELEMENT 元素名 (内容模式)>

    EMPTY:元素不能包含子元素和文本(空元素)

    (#PCDATA):可以包含任何字符数据,但是不能在其中包含任何子元素

    ANY:元素内容为任意的,主要是使用在元素内容不确定的情况下

    |:在列出的元素中选择一个

    +:最少出现一次

    *:任意次(包括0次)

    ?:0到一次

    ,:对象必须按指定的顺序出现

    默认修饰符就是什么元素都不加,表示元素能且只能出现一次

  • 约束属性

    <!ATTLIST 元素名称 属性名称 属性类型 属性特点>
    • 属性类型

    CDATA:属性可以是任何字符

    ID:属性值必须唯一,属性值必须满足xml命名规则

    IDREF:属性的值指向文档中其他地方声明的ID类型的值

    IDREFS:同IDREF,但是可以具有由空格分开的多个引用

    enumerated:(枚举值1|枚举值2|枚举值3…)属性值必须在枚举值中

    • 属性特点

    #REQUIRED:元素的所有实例都必须有该属性

    #IMPLIED:属性可以不出现

    default-value:属性可以不出现,并且当他不出现的时候是有默认值的,而该默认值是attribute-value

    #FIXED:属性可以不出现,但是如果出现的话必须是指定的属性值

  • 引入外部DTD文件

    • 引入内部DTD文件 SYSTEM
    • 引入外部DTD文件 PUBLIC
Scheme约束
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值