快速了解XML
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的更多相关文章
- 用DOM解析XML ,用xpath快速查询XML节点
XPath是一种快速查询xml节点和属性的一种语言,Xpath和xml的关系就像是sql语句和数据库的关系.用sql语句可以从数据库中快速查询出东西同样的用xPath也可以快速的从xml中查询出东西. ...
- Pugixml一种快速解析XML文件的开源解析库
Pugixml是一个轻量级的C++ XML开源解析库,DOM形式的解析器.接口和丰富的遍历和修改操作,快速的解析,此外支持XPath1.0实现数据查询,支持unicode编码: 使用Pugixml可通 ...
- XStream 快速转换xml
项目地址:http://xstream.codehaus.org/tutorial.html (以下来源于官网) 1.Create classes to be serialized(初始化类) pub ...
- python--利用列表推导式快速生成xml格式数据
在接口自动化测试中,我们经常将要发送的数据放到excel里. json数据放至excel方便,但最近的一个测试,数据是xml格式发送的 如下: 属性 必选/可选 描述 1. Message Eleme ...
- WPF快速实现XML可视化编辑工具
虽然最近业余时间主要都放在研究AngularJS上了,不过由于正好要帮朋友做一个生成XML的小工具,顺便又温顾了一下WPF.虽然这个时代相对于Web应用和移动App,Windows应用程序是越来越少了 ...
- 快速写入Xml文件
我们在做一些操作的时候会需要生成日志,Xml文件就是我们常用的一种日志文件. 普通操作Xml文件的代码遇到大数据量的话就很慢了. 用这个生成Xml文件的话,即使数据量很大,也很快 private vo ...
- 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 ...
- Mybatis 快速入门(XML方式)第一天
导读 架构原理图 说明 mybatis配置文件 SqlMapConfig.xml,此文件为mybatis的全局配置文件,配置了mybatis的运行环境等信息 XXXMapper.xml,此文件作为my ...
- eclipse快速配置spring相关xml文件头信息
通过spring tools 插件工具来快速配置xml头信息 ctrl +n 创建-----------> 输入spring 选中spring Beann Configuration File ...
随机推荐
- 企业快速开发平台Spring Cloud+Spring Boot+Mybatis+ElementUI 实现前后端分离
鸿鹄云架构一系统管理平台 鸿鹄云架构[系统管理平台]使用J2EE技术来实施,是一个大型分布式的面向服务的JavaEE体系快速研发平台,基于模块化.服务化.原子化.热部署的设计思想,使用成熟领先的无商业 ...
- Redis核心原理与实践--列表实现原理之quicklist结构
在上一篇文章<Redis列表实现原理之ziplist结构>,我们分析了ziplist结构如何使用一块完整的内存存储列表数据. 同时也提出了一个问题:如果链表很长,ziplist中每次插入或 ...
- Ts基本数据类型
TS的基本数据类型 string let str : string str = 1 //报错 会提示num是字符串 不是数字 str = 'test' //正确 //拼接字符串 let str2 : ...
- OC源码剖析对象的本质
1. 类的底层实现 先写一个 Person 类: @interface Person : NSObject @property (nonatomic, copy) NSString *p_name; ...
- Jmeter目录分析
通讯协议 最重要的基础知识. 性能测试的原理?通过协议模拟压力 jmeter目录结果解析 bin docs,文档 lib,存放库文件,所依赖的jar包 ext jmeter自己的jar包 jmeter ...
- jenkin—持续集成
jenkins与持续集成 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.(百度百科) 持续集 ...
- GDOI2021划水记
Day0 上午有意志行,一大早就醒了,然后走了五个小时脚痛.中午洗澡,宿舍轮流看巨人最终话然后聊了一个小时? 下午老师带着我和全爷先开溜,宿舍好像很破旧还还没得充电,领了牌牌和斐爷去吃饭. 然后六点多 ...
- CF848E-Days of Floral Colours【dp,分治NTT】
正题 题目链接:https://www.luogu.com.cn/problem/CF848E 题目大意 \(2n\)个花排成一个圆环,\(n\)种颜色每种两个,要求两个相同颜色之间最小距离为\(1, ...
- 👊 Spring技术原理系列-从零开始教你SpringEL表达式使用和功能分析讲解指南(上篇)
Spring EL表达式语言,这种语言jsp中学到的el,但是在整个spring之中其表达式语言要更加的复杂,而且支持度更加的广泛,最重要的是他可以进行方法的调用,对象的实例化,集合操作等等,但是唯一 ...
- JDK源码阅读:String类阅读笔记
String public final class String implements java.io.Serializable, Comparable<String>, CharSequ ...