1. XML 定义

可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。

2. XML 展示

如下是一个xml的标记展示,XML 是不作为的XML 被设计用来结构化、存储以及传输信息,所以我们可以自由标记,只有我们赋予它什么意义他就有什么意义。

xml 用来简化数据共享、简化数据传输、简化平台的变更等功能。

<xml>
<tag>标签</tag>
<parent>
<son>儿子</son>
<daughter>女儿</daughter>
</parent>
<famliy>xml大家庭</famliy>
</xml>

3. XML 文档实例

XML 文档必须包含根元素。该元素是所有其他元素的父元素。

XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。

encoding="utf-8" 用于指定该xml文档编码。

<?xml version="1.0" encoding="utf-8"?>
<xml>
<tag>标签</tag>
<parent>
<son>儿子</son>
<daughter>女儿</daughter>
</parent>
<famliy>xml大家庭</famliy>
</xml>

4. XML 其它特性

  • xml 省略关闭标签是非法的。所有元素都必须有关闭标签

    <son>儿子</son>
  • 元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性,熟悉提供元素的额外信息。
<parent>
父母拥有
<son sex="属性:男">儿子</son>
<daughter sex="属性:女">女儿</daughter>
</parent>

5. XML 验证

拥有正确语法的 XML 被称为“形式良好”的 XML。

通过 DTD 验证的 XML 是“合法”的 XML。

W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema,所以DTD的规范基本被淘汰了,现在我们主流使用的都是XML Schema,也就是说XML Schema是一种可以描述XML文档结构的定义,如果你的xml文件遵循某一个XML Schema就可以通过再xml文件中制定遵循的XML Schema,XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。

<?xml version="1.0"?>
<xml
xmlns="http://www.springsun.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springsun.com xml.xsd">
<tag>标签</tag>
<parent>
<son>儿子</son>
<daughter>女儿</daughter>
</parent>
<famliy>xml大家庭</famliy>
</xml>

其中xmlns是默认命名空间, xmlns:xsi 是一个行业默认标准,使用这个定义XMLSchema实例,xsi:schemaLocation指向XSD可访问的位置。

6. XML 命名空间

在 XML 中,元素名称是我们自由制定的,当两个不同的文档使用相同的元素名时,就会发生命名冲突,所以为了区分规定为标签可以加上前缀。

 <s:xml>
<s:tag>标签</s:tag>
<s:parent>
<s:son>儿子</s:son>
<s:daughter>女儿</s:daughter>
</s:parent>
<s:famliy>xml大家庭</s:famliy>
</s:xml>

而命名空间就是为了添加这个前缀,在根节点使用 xmlns 来规定前缀与某个特定标识对应以让它有意义。

 <s:xml xmlns:s="http://www.springsun.com">
<s:tag>标签</s:tag>
<s:parent>
<s:son>儿子</s:son>
<s:daughter>女儿</s:daughter>
</s:parent>
<s:famliy>xml大家庭</s:famliy>
</s:xml>

http://www.springsun.com 用于标示命名空间的地址。其惟一的作用是赋予命名空间一个惟一的名称,只是行业都是用某一个网页链接去标识。

为什么我们平时看到的例子里面没有加像xmlns:s这样的前缀标识,因为不加 :s 则标识默认命名空间,后面所有元素不加前缀的都在该命名空间下。

7.0 XSLT 显示 XML

使用 XSLT 显示 XML:使用 XSLT 在浏览器显示 XML 文件之前,先把它转换为 HTML,这样就可以按自定义样式显示xml数据到网页上。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xml.xsl"?>
<xml
xmlns="http://www.springsun.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springsun.com xml.xsd">
<tag>标签</tag>
<parent>
<son>儿子</son>
<daughter>女儿</daughter>
</parent>
<famliy>xml大家庭</famliy>
</xml>

<?xml-stylesheet type="text/xsl" href="xml.xsl"?> 这个标记用于将xml按照xml.xsl的样式转换到html,如果浏览器支持xsl的话直接就可以显示出来(基本浏览器都支持), xsl可以去查看专门的介绍。

以上这些就可以对xml做一个快速入门了解,还有些其它知识用的时候再去检索下就行了,比如 CDATA 、XML DOM、XPath等。

快速了解XML的更多相关文章

  1. 用DOM解析XML ,用xpath快速查询XML节点

    XPath是一种快速查询xml节点和属性的一种语言,Xpath和xml的关系就像是sql语句和数据库的关系.用sql语句可以从数据库中快速查询出东西同样的用xPath也可以快速的从xml中查询出东西. ...

  2. Pugixml一种快速解析XML文件的开源解析库

    Pugixml是一个轻量级的C++ XML开源解析库,DOM形式的解析器.接口和丰富的遍历和修改操作,快速的解析,此外支持XPath1.0实现数据查询,支持unicode编码: 使用Pugixml可通 ...

  3. XStream 快速转换xml

    项目地址:http://xstream.codehaus.org/tutorial.html (以下来源于官网) 1.Create classes to be serialized(初始化类) pub ...

  4. python--利用列表推导式快速生成xml格式数据

    在接口自动化测试中,我们经常将要发送的数据放到excel里. json数据放至excel方便,但最近的一个测试,数据是xml格式发送的 如下: 属性 必选/可选 描述 1. Message Eleme ...

  5. WPF快速实现XML可视化编辑工具

    虽然最近业余时间主要都放在研究AngularJS上了,不过由于正好要帮朋友做一个生成XML的小工具,顺便又温顾了一下WPF.虽然这个时代相对于Web应用和移动App,Windows应用程序是越来越少了 ...

  6. 快速写入Xml文件

    我们在做一些操作的时候会需要生成日志,Xml文件就是我们常用的一种日志文件. 普通操作Xml文件的代码遇到大数据量的话就很慢了. 用这个生成Xml文件的话,即使数据量很大,也很快 private vo ...

  7. mybatis config 快速生成xml DAO

    0.加jar包 1.a.BAT java -jar E:\GZH\Mybaits\mybatis-generator-core-1.3.2\lib\mybatis-generator-core-1.3 ...

  8. Mybatis 快速入门(XML方式)第一天

    导读 架构原理图 说明 mybatis配置文件 SqlMapConfig.xml,此文件为mybatis的全局配置文件,配置了mybatis的运行环境等信息 XXXMapper.xml,此文件作为my ...

  9. eclipse快速配置spring相关xml文件头信息

    通过spring tools 插件工具来快速配置xml头信息 ctrl +n 创建-----------> 输入spring 选中spring Beann Configuration File ...

随机推荐

  1. 建立 F103C8T6 HAL库 Makefile FreeRTOS 工程

    F103C8T6 HAL库 Makefile FreeRTOS 工程模板 环境 该工程的开发平台为 ARM-GCC 工具链和 Make > arm-none-eabi-gcc -v gcc ve ...

  2. TP5 windows中执行定时任务

    1 首先先写个自定义命令文件 比如 Test 2 在网站根目录下建立文件 crond.bat ,内容:(把你在cmd上操作流程写一遍) D: cd workspace\wamp\tp5 D:\PHPW ...

  3. PKI及SSL协议分析PKI及SSL协议分析

    任务一:搭建CA服务器 本任务初步了解CA服务器的原理和配置过程.操作都在CA服务器上. 1.远程桌面方式登录到CA服务器,在CMD下查看本机IP地址: 2.安装证书服务 依次点击:"开始& ...

  4. javascript base64 encode decode 支持中文

    * 字符编码 ** 一定要知道数据的字符编码 ** 使用utf-8字符编码存储数据 ** 使用utf-8字符编码输出数据 * Crypto.js 支持中文 Base64编码说明 Base64编码要求把 ...

  5. CF1322B-Present【双指针】

    正题 题目链接:https://www.luogu.com.cn/problem/CF1322B 题目大意 给出\(n\)个数字\(a_i\)求 \[\bigoplus _{i=1}^n\bigopl ...

  6. webpack基本用法及原理(10000+)

    1 webpack是什么 所有工具的出现,都是为了解决特定的问题,那么前端熟悉的webpack是为了解决什么问题呢? 1.1 为什么会出现webpack js模块化: 浏览器认识的语言是HTML,CS ...

  7. 洛谷P6075题解

    题面 首先这 \(n\) 个数是互相独立的,所以我们不需要统一的去考虑,只需要考虑其中一个数即可. 我们以 \(k=5\) 的情况举例. 我设 \(f_i\) 为最后一行只填前 \(i\) 个点的情况 ...

  8. 重新整理 .net core 周边阅读篇————AspNetCoreRateLimit 之规则[二]

    前言 本文和上文息息相关. https://www.cnblogs.com/aoximin/p/15315102.html 是紧接着上文invoke来书写的,那么现在来逐行分析invoke到底干了啥. ...

  9. node ***.js或npm run scripts的脚本命令出现Cannot find module 'react-dev-utils/getPublicUrlOrPath'报错的解决办法

    出现类似Cannot find module 'react-dev-utils/getPublicUrlOrPath'一般是项目中没有下载报错中提到的模块(可以在项目中package.json文件de ...

  10. 写学习abcde的简单AI(C++实现)

    #include <iostream> #include <time.h> #include <stdlib.h> #include <cmath> u ...