`

XML

    博客分类:
  • JAVA
阅读更多
 XML是可扩展的标记语言(eXtensible Markup Language)的缩写。标致记语言除了可以存储文档的基本信息外,还可以存储文档的显示格式、文档布局、逻辑结构等附加信息。

  XML的可扩展性体现在其标记可以由开发者自行定义。

  XML的用途:数据交换、跨平台应用开发、数据转换、数据库和配置文件。

  <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

  说明:声明该文档是一个XML文件,必须出现在文档的第一行。
     version="1.0"表示该XML文档的版本为1.0。
     "encoding"和"standalone"不显示,则默认处理。
     encoding="ISO-8859-1"表示文档的编码为ISO-8859-1(西欧国家常用的字符编码),默认编码为UTF-8。
     standalone="no"表示设置XML文档为非独立文档,默认为独立文档。
     字符串"<?”和"xml"之间不可以留空格。



处理指令:用于应用程序处理XML文档。
  以“<?”开始,以“?>”结束,不同的应用程序能识别不同的处理指令。当处理指令不能被应用程序识别时,将被忽略。

例:<?xml-stylesheet href="xsl/book.xsl" type="text/xsl" ?>



XML文档的注释:以“<!--”开头,以“-->”结束,中间为注释内容。

例:<?xml version="1.0" ?>
  <!--书的简单信息-->

说明:如果注释的信息较多,可以多行文档注释。注释内空可以包含任何特殊字符。



元素:是指标签及包含在标签内容的内容。

例:<?xml version="1.0" ?>
  <!--书的简单信息-->
  <book>
    <name>XML学习天下</name>
    <price>88.00</price>
    <author>李四</author>
  </book>

元素的命名规则:
  元素名只能以字母或下画线开头,其后可以跟数字、字母和下画线的任意组合;
  元素名不能以XML(xml、Xml、xMl…)开头;
  元素名不能包含空格;
  元素的开始标签与结束标签名称必须完全一致(包含了大小写也必须完全一致)。

根元素:
  每个XML文档都有且只有一个根元素。根元素是顶级元素(也是就第一个元素),除处理指令和注释外,其他所有元素都必须包含在根元素中。

注意:
  1、XML是大小写敏感的,要特别注意;
  2、文档类型声明、注释和文档处理指令都不是元素;
  3、元素的开始标签和结束标签必须对称出现。如果某个元素的内容为空,则必须写为如下格式。
    <author></author>



属性:指某件事物的特性,必须依附于元素存在,用于描述元素。

属性的习惯写法:属性名="属性值"

以下情况可以考虑使用属性:
  无须扩展;
  要存储的数据量不大;
  数据与元素关系特别密切;
  与元素的关系是一一对应的。

例:<?xml version="1.0" ?>
  <!--书的简单信息-->
  <books>
    <book id="001">
      <name>XML学习天下</name>
      <price>88.00</price>
      <author>李四</author>
    </book>
    <book id="002">
      <name>XML百例</name>
      <price>68.00</price>
      <author>张三</author>
    </book>
  </books>


实体引用:XML文档中有些特殊字符有着特殊意义。
  XML内置了五种实体:
实体:lt      实体引用:&lt;      含义:小于
实体:gt      实体引用:&gt;        含义:大于
实体:amp     实体引用:&amp;       含义:&
实体:apos       实体引用:&apos;         含义:单引号
实体:quot        实体引用:&quot;       含义:双引号

例:<?xml version="1.0" ?>
  <book>
    <name>XML学习天下</name>
    <price>88.00</price>
    <author>李四</author>
    <em>价格88&gt;50 是有点贵哦</em>
  </book>



CDATA段:CADTA全称为字符数据(Character Data)

语法:<![CDATA[内容]]>

说明:内容中的全部字符都被处理器视为普通字符。
   CDATA段不可嵌套,而且没有嵌套的必要;
   “CDATA”字符串并不出现在真正的文本内容中;
   当需要将大块文本内容填充到元素中时,比较适用CDATA部件。

例:<?xml version="1.0" ?>
  <comment>
    <![CDATA[在CDATA段中,“<”、“>”和“&”都当做是普通字符来处理]]>
  </comment>


格式的良好性:
  文档不能为空。如果文档中没有元素,该文档也就失去了存在的意义;
  只能含有一个根元素;
  元素之间的嵌套关系要正确;
  属性必须依附于元素存在;
  属性值必须用引号(单引号或双引号)括起来;
  特殊字符必须使用实体引用。

有效性:
  有效性一般是通过为XML定义Schema或 DTD来实现的,有效有性是进一步验证XML文档特性的一种手段。
  Schema是用来定义XML文件,并利用该定义验证XML文件是否符合要求的一种技术。
  XSLT(扩展样式表转换)则是提供将XML转达换为其他文件格式的一种转换规则。
  XSLT的全称是Extensible Stylesheet Language Transformations。

Schema、XML和XSLT的关系:
有效的XML←Schema(验证)← XML文档 →XSLT(转换)→其他文件
分享到:
评论

相关推荐

    pugixml读写XML示例

    pugixml是一款轻量级、高性能的C++库,专为XML解析和操作而设计。这个库由Artemev开发,提供了简单易用的API,使得在C++项目中处理XML文档变得非常便捷。本示例将详细介绍如何使用pugixml进行XML的读取和写入操作。 ...

    tinyxml与tinyxml2

    TinyXML和TinyXML2是两个小型的开源库,专门用于解析和操作XML(eXtensible Markup Language)文档。这两个库都是用C++编写的,为C++开发者提供了方便的接口来读取、写入和操作XML数据。下面将详细介绍这两个库的...

    andxml xml解密工具

    andxml汉化版是一个xml文件反编译工具,可与APKTOOL反编译配合使用,APK文件使用APKTool反编译生成XML文件后,就可以直接通过它进行汉化编辑 注意: 1、一键机器翻译会造成某些代码出现翻译错误现象,请人工识别。...

    易语言 xml解析 易语言 xml解析 教程 带源码

    易语言XML解析是编程领域中的一个重要主题,尤其对于使用易语言进行开发的程序员来说,理解并掌握XML(可扩展标记语言)的解析方法是至关重要的。XML作为一种结构化数据存储和交换格式,广泛应用于网络通信、配置...

    XML解析工具- TinyXML2 -源代码 - C++

    TinyXML-2 是一个简单、小型、高效的 C++ XML 解析器,可以被轻松集成到其他程序中。它使用文档对象模型(DOM)的方式解析XML,可解析 XML 文档,并根据该文档构建可读取、修改和保存的文档对象模型。 作为XML解析...

    xml2axml反编译AndroidManafest文件

    使用java工具xml2axml.jar反编译AndroidManafest文件 通过xml2axml.jar工具反编译AndroidManafest文件 还原AndroidManafest.xml详细过程: 1、获取到apk 2、解压获取里面的AndroidManifest.xml文件 3、在xml2axml....

    DBMS_XMLDOM DBMS_XMLPARSER DBMS_XMLQUERY 文档

    Oracle数据库系统提供了强大的XML处理能力,这主要体现在其内置的几个PL/SQL包上,如DBMS_XMLDOM、DBMS_XMLPARSER和DBMS_XMLQUERY。这些包为开发者提供了处理XML文档的一整套工具,使得在数据库环境中进行XML数据的...

    Xml完全操作 XML增删改查

    XML(eXtensible Markup Language)是一种用于标记数据的语言,其设计目的是传输和存储数据,而非显示数据。在IT行业中,XML因其结构清晰、可扩展性强的特点,被广泛应用于数据交换、配置文件、Web服务等领域。本文...

    tinyxml2.h tinyxml2.cpp文件

    TinyXML-2,通常以tinyxml2库的形式存在,是一个轻量级的C++库,专门用于解析和操作XML文档。这个库由李·斯坦普(Lee Stemp)开发,设计简洁,易于集成到各种项目中,特别是对于嵌入式系统和资源有限的环境。在给定...

    Qt读写Xml文件,QTreeWidget显示Xml和导出Xml文件

    在Qt框架中,XML文件是一种常见的数据存储格式,它提供了结构化的数据表示方式,便于程序读取和写入。QTreeWidget是Qt提供的一种用于显示树状结构数据的控件,它可以很好地展示XML文件的层次结构。QXml是Qt中的XML...

    XML学习心得分享XML学习心得分享

    XML学习心得分享 XML(Extensible Markup Language)是一种用于建立描述结构化数据标示语言的语言。它具有开放、可读取、扩展性强、避免浏览器或其他中介软件自行增加特定的HTML标签等特点。XML用于描述结构化数据...

    xml转javaBean,javaBean转xml,xml标签大小写问题,以及对xml特殊符号的处理

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在软件开发、Web服务、配置文件等领域。本文将深入探讨XML与JavaBean之间的转换、XML标签的大小写规则、XML特殊符号的处理以及CDATA的生成。 ...

    基于tinyxml2的xml操作库再封装

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件、数据交换、文档存储等领域。TinyXML2是轻量级的C++ XML解析库,它提供了简单、直接的方式来读写XML文档。本项目是基于tinyxml2...

    根据xml schema生成xml

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件、文档存储等领域。XML Schema(通常缩写为XSD)则是为XML文档定义结构和数据类型的规范,它允许我们对XML文档进行更严格...

    tinyxml2解析XML文件读取数据

    - 库的主要类包括`XMLDocument`(XML文档对象)、`XMLElement`(XML元素)、`XMLText`(XML文本)、`XMLComment`(XML注释)和`XMLAttribute`(XML属性)等。 2. **解析XML文件** - 使用`XMLDocument::LoadFile()...

    XMLParser(XML解析代码 C++版)

    XMLParser是一种用于解析XML文档的C++实现,它旨在提供简单、小巧且稳定的解决方案,以处理XML数据。XML,即可扩展标记语言,是用于存储和传输数据的标准格式,广泛应用于配置文件、数据交换和文档结构化等领域。XML...

    matlab读取XML,XML转换为matlab

    XML(eXtensible Markup Language)是一种用于存储和交换数据的标记语言,广泛应用于软件开发、数据存储和网络通信等领域。Matlab作为一个强大的数值计算和数据分析环境,也提供了与XML交互的功能,这主要通过XML ...

    xml操作xml操作xml操作xml操作xml操作

    这里提到的"xml操作xml操作xml操作xml操作xml操作"显然是指对XML文档进行读取、修改和创建的操作。 在给定的示例中,首先加载XML文档到`XmlDocument`对象,这是.NET框架中用于处理XML的标准类。通过`XmlDocument`的...

    Notepad++的XML Tools插件格式化XML文件插件

    (2) 解压Xml Tools 2.4.8 Unicode.zip,关闭Notepad++ (3) 将xmltools子文件夹下的XMLTools.dll拷贝至Notepad++的plugins子文件夹 (4) 将ext_libs子文件夹下的所有dll文件拷贝至Notepad++的根目录(与notepad++.exe...

    xml文件树形显示,可添加删除修改xml节点

    XML(Extensible Markup Language)是一种用于标记数据的语言,它被广泛应用于数据交换、配置文件以及文档存储等领域。在处理XML文件时,为了更好地理解和操作XML文档,通常会将其以树形结构显示,这种方式能直观地...

Global site tag (gtag.js) - Google Analytics