• xml简单知识


      xml (EXtensible Markup Language)可扩展标记语言

     

    • 第一行必须是xml声明:<?xml version="1.0" encoding="UTF-8"?>   例:hr.xml
    • 对于特殊字符的处理:

                  1.使用实体引用

                     

                  2.使用CDATA标签

                       CDATA 是不应该由 XML 解析器解析的文本数据

                       CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束

    • xml语义约束

                  1.DTD (Document Type Definition:文档类型定义) .dtd    例:hr.dtd 

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hr SYSTEM "hr.dtd">            <!--引入dtd文件-->                             
    <!-- 人力资源管理系统 -->
    <hr>
        <employee no="3301">
            <name>李铁柱</name>
            <age>37</age>
            <salary>3600</salary>
            <department>
                <dname>人事部</dname>
                <address>XX大厦-B105</address>
            </department>
        </employee>
        <employee no="3302">
            <name>林海</name>
            <age>50</age>
            <salary>7000</salary>
            <department>
                <dname>财务部</dname>
                <address>XX大厦-B106</address>
            </department>
        </employee>
    </hr>
    
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- (employee):只允许出现1个employee节点
    (employee+):至少出现1个employee节点
    (employee*):允许出现0到n个employee节点
    (employee?):最多出现1个employee节点
    -->
    <!ELEMENT hr (employee+)>
    <!-- employee节点下必须包含四个节点,且按顺序出现 -->
    <!ELEMENT employee (name,age,salary,department)>
    <!ATTLIST employee no CDATA "">
    <!-- PCDATA代表文本元素,定义name标签体为纯文本,department则不能这么写 -->
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT age (#PCDATA)>
    <!ELEMENT salary (#PCDATA)>
    <!ELEMENT department (dname,address)>
    <!ELEMENT dname (#PCDATA)>
    <!ELEMENT address (#PCDATA)>

                  2.XML Schema   目前使用更多    .xsd   例:hr.xsd

    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
        <element name="hr">
            <!-- complexType标签含义是复杂节点,包含子节点时必须使用这个标签 -->
            <complexType>
                <sequence>
                    <!-- 最少出现1个employee节点,最多出现9999个-->
                    <element name="employee" minOccurs="1" maxOccurs="9999">
                        <complexType>
                            <sequence>
                                <element name="name" type="string"></element>
                                <element name="age">
                                    <simpleType>
                                        <restriction base="integer">
                                            <minInclusive value="18"></minInclusive>
                                            <maxInclusive value="60"></maxInclusive>
                                        </restriction>
                                    </simpleType>
                                </element>
                                <element name="salary" type="integer"></element>
                                <element name="department">
                                    <complexType>
                                        <sequence>
                                            <element name="dname" type="string"></element>
                                            <element name="address" type="string"></element>
                                        </sequence>
                                    </complexType>
                                </element>
                            </sequence>
                            <attribute name="no" type="string" use="required"></attribute>                    
                        </complexType>
                    </element>
                </sequence>
            </complexType>
        </element>    
    </schema>
    <hr xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="hr.xsd">

    后篇:JAVA操作XML文档

    学习自:https://class.imooc.com/course/714

  • 相关阅读:
    标准库中的生成器函数
    Python 数据分析5
    Chrome 开发者工具(三)------ Sources
    Chrome 开发者工具(二)------ Console
    Chrome 开发者工具 F12(一)
    jquery 获取自定义属性的值 data-*
    PHP 常用函数备忘
    Winsows 服务器,PHP 开发环境搭建
    FuelPHP 查看 Query SQL
    Laravel —— could not find driver
  • 原文地址:https://www.cnblogs.com/sycamore0802/p/11678700.html
Copyright © 2020-2023  润新知