XML01

一、XML概述(记住)
    XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言
    作用:
        它被设计的宗旨是用于表示数据的。
        XML还经常作为配置文件
二、XML的语法(记住)
    1、XML的声明
        必须出现在第一行
        最简单的形式:<?xml version="1.0"?>
            encoding:指示解析器在解析XML中数据时使用的编码,默认是UTF-8
    2、CDATA区:
        作用:把标签当做普通的文本对待
        语法<![CDATA[文本内容]]>
三、XML的约束(知道)
    约束就是一个规定
    格式良好的XML:遵循XML语法的XML
    有效的XML:遵循约束文档的XML

四、DTD约束(理解)
    1、DTD(Document Type Definition):文档类型定义。
    2、DTD如果是在一个单独的文件中定义的,文件保存时必须使用UTF-8
    3、如何在xml中引入外部的dtd文档(必须会)
        3.1dtd文档在本地:<!DOCTYPE 根元素 SYSTEM "DTD文档路径">
        3.2dtd文档不在本地:<!DOCTYPE 根元素 PUBLIC "DTD名称" "DTD文档的URL">

    4、看懂DTD文档

    5、一个简单的DTD约束实例:

        * book.dtd:

                     <!ELEMENT 书架 (书+)>

                    <!ELEMENT 书 (书名,作者,售价)>

                    <!ELEMENT 书名 (#PCDATA)>

                    <!ELEMENT 作者 (#PCDATA)>

                     <!ELEMENT 售价 (#PCDATA)>
                    <!ATTLIST 书
                                 出版社 (传智|黑马) #REQUIRED
                              ISBN ID #IMPLIED
                             某个属性 CDATA #FIXED "不知道"
                               再来一个属性 CDATA "默认值">
                       <!ENTITY copyright "黑马训练营所有">

        * book.xml:

                      <?xml version="1.0" encoding="gbk"?>
                       <!DOCTYPE 书架 SYSTEM "book.dtd">
                 <书架>
                       <书 出版社="传智" ISBN="a1">
                           <书名>葵花宝典</书名>
                           <作者>何敬轩</作者>
                          <售价>1</售价>
                      </书>
                   <书 出版社="黑马" ISBN="a2" 某个属性="不知道">
                           <书名>金瓶梅</书名>
                           <作者>&copyright;</作者>
                           <售价>2</售价>
                 </书>
            </书架>

    练习:PPT 36 DTD实例,第一个
    
五、XML的数据解析
    DOM和SAX的优缺点
    
六、DOM解析

    Jaxp DOM解析的基本操作(练习:PPT 44 7个练习)

    

七、SAX解析
    Jaxp SAX解析(练习:把书的信息封装到JavaBean中)
八、DOM4J操作
    基本操作(练习:PPT 44 7个练习,不要采用main方法进行测试,请使用单元测试)

八、JUnit单元测试和debug调试


一、Xpath(会查文档,简单有些概念和印象)
二、Dom4J综合案例(练习)
三、Schema约束:目标,根据Schema写出xml文档来,难点在于xml文件如何引入schema约束

xml中引入schema约束的步骤:(王氏独家)
1、查看schema文档,找到根元素,在xml中写出来
<?xml version="1.0" encoding="UTF-8"?>
<书架>
    
</书架>
2、根元素来自哪个名称空间。使用xmlns指令来声明
名称空间是在schema中定义的,就是targetNamespace的值

<?xml version="1.0" encoding="UTF-8"?>
<itheima:书架 xmlns:itheima="http://www.itheima.com/book">
    
</itheima:书架>
3、引入的名称空间跟哪个xsd文件对应?
使用schemaLocation来指定:两个取值:第一个为名称空间 第二个为xsd文件的路径

<?xml version="1.0" encoding="UTF-8"?>
<itheima:书架 xmlns:itheima="http://www.itheima.com/book"
    schemaLocation="http://www.itheima.com/book book.xsd">
    
</itheima:书架>

4、schemaLocation哪里来的?它来自一个标准的名称空间

<?xml version="1.0" encoding="UTF-8"?>
<itheima:书架 xmlns:itheima="http://www.itheima.com/book"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.itheima.com/book book.xsd">
    
</itheima:书架>

5、只要以上4部搞好了,对于子标签eclipse就有提示了


* 一个简单的schemal约束实例:

     1、book.xsd

      <?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.itheima.com/book"
    elementFormDefault="qualified">
    <element name='书架' >
        <complexType>
            <sequence maxOccurs='unbounded' >
                <element name='书' >
                    <complexType>
                        <sequence>
                            <element name='书名' type='string' />
                            <element name='作者' type='string' />
                            <element name='售价' type='string' />
                        </sequence>
                    </complexType>
                </element>
            </sequence>
        </complexType>
    </element>
</schema>


 2、book.xml

    <?xml version="1.0" encoding="UTF-8"?>
<书架>
    <书 出版社="黑马">
        <书名>Java就业培训教程</书名>
        <作者>张孝祥</作者>
        <批发价>58.00元</批发价>
        <售价>39.00元</售价>
        <内部价>48.00元</内部价>
    </书>
    <书 出版社="传智">
        <书名>葵花宝典</书名>
        <作者>陈浩</作者>
        <售价>0.50元</售价>
    </书>
</书架>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值