• JavaWeb_ XML文件



      百度百科  传送门

      W3school  传送门

      XML语言(可扩展标记语言):是一种表示数据的格式,按照xml规则编写的文本文件称为xml文件

    Learn

      一、编写XML文件
      二、DTD约束
      三、schema约束(DTD下一代) 

      html也是标记语言,html里面的标记是固定的,每个标记有自己的功能(标记我们可以自己定义)

       XML文件用来表示数据,用来做数据传输,web开发中很多配置文件,都使用XML编写,XML配置文件结构清晰,配置清楚

    编写XML文件

      Gary->src->New->Other->XML->XML File->NewFile.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <goodlist>
        <good>
            <price>12</price>
            <name>香蕉</name>
            <place>广州</place>
        </good>
            <good>
            <price>39</price>
            <name>苹果</name>
            <place>北京</place>
        </good>
            <good>
            <price>33</price>
            <name>芒果</name>
            <place>深圳</place>
        </good>
    </goodlist>
    NewFile.xml

      文档声明  (必须放到第一行!!)

    <?xml version="1.0" encoding="UTF-8"?>

      version="1.0" 声明用的xml版本是1.0

      encoding="UTF-8" 声明用xml传输数据的时候的字符编码

    根元素、标签和属性名自定义

      goodslist  根元素(必须要有一个根元素)

      good  标签

      id  属性名

      "1001"  属性值 (必须使用双引号)

      by = Gary  属性名和属性值

      添加注释快捷键  Ctrl+Shift+C  

    <!-- 这是注解 -->

    二、DTD约束  传送门

      

      DTD用来约束xml文档,规定xml文档中元素的名称,子元素的名称和顺序,元素的属性

      新建一个note.xml文件,Gary->src->New->Other->XML->XML File->note.xml

    内部引用DTD约束

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE note [
      <!ELEMENT note (to,from,heading,body)>
      <!ELEMENT to      (#PCDATA)>
      <!ELEMENT from    (#PCDATA)>
      <!ELEMENT heading (#PCDATA)>
      <!ELEMENT body    (#PCDATA)>
    ]>
    <note>
        <to>China</to>
        <from>Gary</from>
        <heading>Readme</heading>
        <body>Welcome!!!</body>
    </note>
    note.xml
    <!DOCTYPE note[
        <!ELEMENT note (to,from,heading,body)>
        <!ELEMENT to      (#PCDATA)>
        <!ELEMENT from    (#PCDATA)>
        <!ELEMENT heading (#PCDATA)>
        <!ELEMENT body    (#PCDATA)>
    ]>

      !DOCTYPE note (第二行)定义此文档是 note 类型的文档。

      !ELEMENT note (第三行)定义 note 元素有四个元素:"to、from、heading,、body"

      !ELEMENT to (第四行)定义 to 元素为 "#PCDATA" 类型

      !ELEMENT from (第五行)定义 from 元素为 "#PCDATA" 类型

      !ELEMENT heading (第六行)定义 heading 元素为 "#PCDATA" 类型

      !ELEMENT body (第七行)定义 body 元素为 "#PCDATA" 类型

      1)规定了note.xml文档里面必须要有note标签

      2)规定文档里面标签顺序

      3)规定文档里面必须要存在所有约束标签

    外部引用DTD约束(本地)

      将DTD约束单独放到dtd文件中,xml文件再引用dat文件中约束

    <?xml version="1.0" encoding="UTF-8"?>
    <!ELEMENT note (to,from,heading,body)>
    <!ELEMENT to (#PCDATA)>
    <!ELEMENT from (#PCDATA)>
    <!ELEMENT heading (#PCDATA)>
    <!ELEMENT body (#PCDATA)>
    note.dtd

       外部 DTD 约束 XML 源文件,通过下面的语法封装在一个 DOCTYPE 定义中

    <!DOCTYPE 根元素 SYSTEM "文件名">

    (缺少body标签报错了!!!)

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE note SYSTEM "note.dtd">
    <note>
        <to>China</to>
        <from>Gary</from>
        <heading>Readme</heading>
    <!--     <body>Welcome!!!</body> -->
        
    </note> 
    note2.xml

    外部引用DTD约束(网络)

      Struts框架的配置文档的首行

    <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">

    三、schema约束(DTD下一代)  传送门 后缀为xsd 

    • XML Schema 可针对未来的需求进行扩展
    • XML Schema 更完善,功能更强大
    • XML Schema 基于 XML 编写
    • XML Schema 支持数据类型
    • XML Schema 支持命名空间
        定义可出现在文档中的元素
        定义可出现在文档中的属性
        定义哪个元素是子元素
        定义子元素的次序
        定义子元素的数目
        定义元素是否为空,或者是否可包含文本
        定义元素和属性的数据类型
        定义元素和属性的默认值以及固定值
    schema 约束定义值

      新建一个schema文件,Gary->src->New->Other->XML->XML Schema File->note.xsd

    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.w3school.com.cn"
    xmlns="http://www.w3school.com.cn"
    elementFormDefault="qualified">
    
    <xs:element name="note">
        <xs:complexType>
          <xs:sequence>
        <xs:element name="to" type="xs:string"/>
        <xs:element name="from" type="xs:string"/>
        <xs:element name="heading" type="xs:string"/>
        <xs:element name="body" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    </xs:schema>
    note.xsd

      xsd命名空间

    targetNamespace="http://www.w3school.com.cn"
    xmlns="http://www.w3school.com.cn"

      指出任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定

    elementFormDefault="qualified" 

      使用schema约束

      创建一个note3.xml文件

    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.w3school.com.cn"
    xmlns="http://www.w3school.com.cn"
    elementFormDefault="qualified">
    
    <xs:element name="note">
        <xs:complexType>
          <xs:sequence>
        <xs:element name="to" type="xs:string"/>
        <xs:element name="from" type="xs:string"/>
        <xs:element name="heading" type="xs:string"/>
        <xs:element name="body" type="xs:string"/>
          </xs:sequence>
        </xs:complexType>
    </xs:element>
    
    </xs:schema>
    node3.xml
    (如需转载学习,请标明出处)
  • 相关阅读:
    串口打印信息
    网上下的ARM入门笔记
    职业生涯规划之驱动开发笔试题
    哈佛学生是如何度过大学4年的
    9G忠告打基础
    新塘M0Timer定时器篇
    ARM裸机篇按键中断
    linux驱动面试题
    裸机程序循环加法操作
    ARM裸机篇串口UART实验
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9764168.html
Copyright © 2020-2023  润新知