• XML的应用


    1.XML的定义:

    XML 于 1998 年 2 月 10 日成为 W3C 的推荐标准。xml一般指可扩展标记语言,可扩展标记语言是一种很像超文本标记语言的标记语言。它的设计宗旨是传输数据,而不是显示数据。

    2.通过XML我们可以自定义自己的标签,如:

    <mail>
        <from>tom</from>
        <to>lily</to>
        <detail>I will go home this weekend!</detail>
    </mail>

    3.XML结构

    XML是一种树结构。树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。XML文档必须包含根元素,该元素是所有其他元素的父元素。XML文档中的元素形成了一棵文档树,这棵树从根部开始,并扩展到树的最底端。

    4.XML语法规则

    XML声明,如:<?xml version="1.0" encoding="utf-8"?>

    它定义XML的版本(1.0)和所使用的编码(utf-8)字符集。

    1. 所有的XML元素都是成对出现的,有一个开始标签,就必须有一个关闭标签。
    2. XML标签对大小写敏感,标签与标签是不同的。
    3. XML文档必须有根元素,标签如果需要嵌套,必须正确嵌套,在内层打开的标签就必须在内层关闭。
    4. XML标签如果需要添加属性,属性值必须加引号。
    5. 在XML中编写注释的语法与HTML的语法很相似,都是。
    6. 在XML中,空格会被保留,不像HTML中,加再多的空格最终都只合并为一个。 

                                        特殊符号:

    引用符号说明
    &lt; < 小于
    &gt; > 大于
    &amp; & and符号
    &apos; ' 单引号
    &quot; " 双引号

     

     

    5.XML命名规则

    XML元素必须遵循以下命名规则:

    • 名称可以包含字母、数字以及其他的字符
    • 名称不能以数字或者标点符号开始
    • 名称不能以字母 xml(或者 XML、Xml 等等)开始
    • 名称不能包含空格
    • 可使用任何名称,没有保留的字词。

    6.创建XML文件

    /**
    * 创建XML文件
    * 
    * @throws IOException
    */
    public void createXml() throws IOException {
    // 创建Document对象
    Document document = DocumentHelper.createDocument();
    // 根元素节点
    Element root = document.addElement("students");
    root.addComment("all students info"); // 添加注释
    Element student = root.addElement("student"); // 根元素节点添加子节点
    student.addAttribute("id", "001"); // 添加节点属性
    Element name = student.addElement("name");
    name.addText("July"); // 设置节点文本
    Element age = student.addElement("age");
    age.addText("18");
    // 设置XML美化格式
    OutputFormat format = OutputFormat.createPrettyPrint();
    format.setEncoding("utf-8"); // 编码字符集设置
    // xml写入器
    XMLWriter writer = new XMLWriter(new FileWriter("students.xml"), format);
    // 写操作
    writer.write(document);
    writer.flush();
    writer.close();
    }

    7:DTD的概念:

    DTD(文档类型定义)的作用是定义XML文档的合法构建模块。拥有正确语法的XML被称为“形式良好”的XML,我们可以通过DTD验证XML是“合法”的 XML。

    8.DTD元素

    <!ELEMENT 元素名称 类别>

    只有 PCDATA 的元素

    只有 PCDATA 的元素通过圆括号中的#PCDATA进行声明:

    <!ELEMENT 元素名称 (#PCDATA)>
    

    示例:

    <!ELEMENT from (#PCDATA)>
    

    带有任何内容的元素

    通过类别关键词ANY声明的元素,可包含任何可解析数据的组合:

    <!ELEMENT 元素名称 ANY>
    

    示例:

    <!ELEMENT mail ANY>
    

    带有子元素(序列)的元素

    带有一个或多个子元素的元素通过圆括号中的子元素名进行声明:

    <!ELEMENT 元素名称 (子元素名称 1)>
    

    或者

    <!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,.....)>
    

    示例:

    <!ELEMENT mail (from,to,detail)>

    8.DTD属性

    声明属性

    属性声明使用下列语法:

    <!ATTLIST 元素名称 属性名称 属性类型 默认值>
    9.CDATA与PCDATA
    
    

    XML文档中的所有文本均会被解析器解析,只有CDATA区段中的文本会被解析器忽略。

    10.外部文档声明
    这是包含DTD的“mail.dtd”文件:
    
    <!ELEMENT mail (from,to,detail)>
    <!ELEMENT from (#PCDATA)>
    <!ELEMENT to (#PCDATA)>
    <!ELEMENT detail (#PCDATA)>
    XML文件:
    
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE mail SYSTEM "mail.dtd">   
    <mail>
        <from>tom</from>
        <to>lily</to>
        <detail>I will go home this weekend!</detail>
    </mail>

    11.内部文档声明

    假如DTD被包含在XML源文件中,它应当通过下面的语法包装在一个DOCTYPE声明中:

    假如DTD被包含在XML源文件中,它应当通过下面的语法包装在一个DOCTYPE声明中:
    
    <!DOCTYPE root-element [element-declarations]>
    如:
    
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE mail[
    <!ELEMENT mail (from,to,detail)>
    <!ELEMENT from (#PCDATA)>
    <!ELEMENT to (#PCDATA)>
    <!ELEMENT detail (#PCDATA)>
    ]>  
    <mail>
        <from>tom</from>
        <to>lily</to>
        <detail>I will go home this
    
    
    
    
    
    
  • 相关阅读:
    python学习笔记十五-生成器
    python学习笔记十四-迭代器
    python学习笔记十三-装饰器
    The Zen of Python, by Tim Peters
    python学习笔记十二-函数
    python学习笔记十一-集合set
    tensorflow2 gpu 在 win10 上安装过程和问题处理
    anaconda navigator stuck 卡在 loading applications... 处理
    python工具pip加速For windows
    WCF With StructureMap
  • 原文地址:https://www.cnblogs.com/g398429959/p/4491464.html
Copyright © 2020-2023  润新知