(1-8-1) Java -XML

发布于:2025-08-04 ⋅ 阅读:(14) ⋅ 点赞:(0)

目录

0. 前置小节

1. XML的 介绍 与 用途

1.1 XML 是什么

1.2 XML 的用途

1.3 XML 的文档结构

(1) XML 的声明

(2) XML必须拥有 根标签

(3)XML标签的 书写规则

1.4 创建XML 文件

2. XML 语义约束

2.1 DTD

 (1) DTD 定义

(2) DTD 定义节点

(3)XML 引用DTD 文件

2.2 XML schema

(1)编写phdvb.xsd文件

(2)编写schema文件


0. 前置小节

  • XML 介绍 与 用途
  • XML 语法规则
  • XML 语义约束

1. XML的 介绍 与 用途

1.1 XML 是什么

1.2 XML 的用途

1.3 XML 的文档结构

(1) XML 的声明

(2) XML必须拥有 根标签

(3)XML标签的 书写规则

(3-1)合法的标签名

(3-2)适当的注释与缩进


(3-3)合理使用属性

(3-4) 处理特殊字符

(3-5)有序的子元素

1.4 创建XML 文件

<?xml version="1.0" encoding="UTF-8" ?>
<!--公司员工数据-->
<vb>
    <emplyee no = "2205">
        <name>phdvb</name>
        <age>24</age>
        <salary>4500</salary>
        <department>
            <dname>技术部门</dname>
            <address>克拉玛依职业技术学院</address>
        </department>
    </emplyee>
    <emplyee no = "2206">
        <name>phdvc</name>
        <age>25</age>
        <salary>4900</salary>
        <department>
            <dname>技术部门2</dname>
            <address>中国石油大学</address>
        </department>
    </emplyee>
</vb>

在浏览器中打开xml

2. XML 语义约束

2.1 DTD

 (1) DTD 定义

(2) DTD 定义节点

DTD定义节点数量

(3)XML 引用DTD 文件

 (3-1)编写 phdvb.dtd 文件

<?xml version="1.0" encoding="UFT-8" ?>
<!--DTD语义约束-->
<!ELEMENT vb (emplyee+)>
<!ELEMENT emplyee (name, age, salary, department)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT salary (#PCDATA)>
<!ELEMENT department (dname, address)>
<!ELEMENT dname (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ATTLIST emplyee no CDATA "">

(3-2)XML 进行 引用

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE vb SYSTEM "phdvb.dtd">
<!--公司员工数据-->
<vb>
    <emplyee no = "2205">
        <name>phdvb</name>
        <age>24</age>
        <salary>4500</salary>
        <department>
            <dname>技术部门</dname>
            <address>克拉玛依职业技术学院</address>
        </department>
    </emplyee>
    <emplyee no = "2206">
        <name>phdvc</name>
        <age>25</age>
        <salary>4900</salary>
        <department>
            <dname>技术部门2</dname>
            <address>中国石油大学</address>
        </department>
    </emplyee>
</vb>

2.2 XML schema

(1)编写phdvb.xsd文件

<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlsn = "http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.phdvb.com/vbXM-rules" elementFormDefault="qualified">
    <element name="vb">
        <complexType>
            <sequence>
                <!--定义元素的数量-->
                <element name="emplyee" 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="65"></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>
(2)编写schema文件

<?xml version="1.0" encoding="UTF-8" ?>
<!--公司员工数据-->
<vb xmlns="http://www.phdvb.com/vbXM-rules"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.phdvb.com/vbXM-rules phdvb.xsd">
    <emplyee no = "2205">
        <name>phdvb</name>
        <age>24</age>
        <salary>450</salary>
        <department>
            <dname>技术部门</dname>
            <address>克拉玛依职业技术学院</address>
        </department>
    </emplyee>
    <emplyee no = "2206">
        <name>phdvc</name>
        <age>25</age>
        <salary>4900</salary>
        <department>
            <dname>技术部门2</dname>
            <address>中国石油大学</address>
        </department>
    </emplyee>
</vb>