Xml,Xml解析,设计模式

本文介绍了XML的基本概念,包括其组成格式和约束方式,如DTD和Schema约束,并详细讲解了DOM解析的文本对象模型。此外,文章还探讨了设计模式,如单例、工厂、静态代理和动态代理模式,阐述了它们的作用和应用场景。
摘要由CSDN通过智能技术生成

1.Xml

XML是可扩展标记语言的缩写,它是一种数据表示格式(可以自定义数据格式),可以描述非常复杂的数据结构,常用于传输和存储数据,也可以作为软件的配置文件。

    组成格式要求:

  • 文件后缀必须是xml
  • 文档声明必须是第一行
  • 必须存在一个根标签,有且只能有一个
  • XML文件中可以定义注释信息:<!-- 注释内容 -->
  • 标签必须成对出现,有开始,有结束标签
  • 必须能够正确地嵌套。

xml一般作为软件的配置文件来使用的,用来记录程序的配置信息。

xml约束:就是用来约束xml文件的标签该怎么写的。

Xml文档约束方式一:DTD约束

  1. 编写DTD约束文档,后缀必须是.dtd
  2. 在需要编写的XML文件中导入该DTD约束文档
  3. 按照约束的规定编写XML文件的内容
  4. 问题:可以约束XML文件的编写,但是不能约束具体的数据类型

//dtd文件
<!ELEMENT 书架 (书+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE 书架 SYSTEM "xml/books.dtd">
<书架>
    <书>
        <书名>Java基础编程</书名>
        <作者>小明</作者>
        <售价>18.8</售价>
    </书>

    <书>
        <书名>JavaWeb编程</书名>
        <作者>小强</作者>
        <售价>9.9</售价>
    </书>
</书架>

Xml文档约束方式二:Schema约束

  • schema可以约束具体的数据类型,可以约束XML文件的标签内容格式,约束能力上更加强大。
  • schema本身也是一个xml文件,本身也受到其他约束文件的要求,所以编写的更加严谨

  1.  编写schema约束文档,后缀必须是.xsd
  2. 在需要编写的XML文件中导入该schema约束文档
  3. 按照约束内容编写XML文件的标签

 

<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://www.itcast.com"
        elementFormDefault="qualified" >

<!--    xsd文件-->
    <!-- targetNamespace:申明约束文档的地址(命名空间)-->
    <element name='书架'>
        <!-- 写子元素 -->
        <complexType>
            <!-- maxOccurs='unbounded': 书架下的子元素可以有任意多个!-->
            <sequence maxOccurs='unbounded'>
                <element name='书'>
                    <!-- 写子元素 -->
                    <complexType>
                        <sequence>
                            <element name='书名' type='string'/>
                            <element name='作者' type='string'/>
                            <element name='售价
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值