关于XML(一)。
关于XML
什么是XML?
XML是可扩展标记语言。类似于HTML,XML的宗旨是旨在传输数据,而非显示数据。其标签没有预定义,您需要自行定义标签。XML具有自我描述性,是W3C的推荐标准。
XML与HTML的区别。
XML被设计用来传输和存储数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。HTML旨在显示信息,而XML旨在传输信息。
XML不是对HTML的替代XML是对HTML的补充。XML不会替代HTML,理解这一点很重要。在大多数web应用程序中,XML用于传输数据,而XML用于格式化并显示数据。对XML最好的描述是:XML是独立于软件和硬件的信息传输工具。
没有任何行为的XML。
XML是不作为的。
XML被设计用来结构化、存储以及传输信息。是不会做任何事情的。它仅仅是包装在XML标签中的纯粹的信息。我们需要编写软件或者程序接收和显示出这个文档。
XML的用途
XML应用于web开发的许多方面,常用语简化数据的存储和共享。
XML把数据从HTML分离。(通过使用几行Javascript,你就可以读取一个外部XML文件,然后更新HTML中的数据内容。)
XML简化数据共享。(XML数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。)
XML简化数据传输。(通过XML,可以在不兼容的系统之间轻松地交换数据。)
XML简化平台的变更。(XML在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或者新的浏览器。)
XML使您的数据更有用。(由于XML独立于硬件、软件以及应用程序,不同的应用程序都能够访问您的数据,不仅仅在HTML页中,也可以从XML数据源中进行访问。)
XML用于创建新的Internet语言。(很多新的Internet语言是通过XML创建的:其中的例子包括:XHTML-最新的HTML版本WSDL-用于描述可用的web service)
XML树结构
例:
- <?xml version="1.0" encoding="utf-8" ?>
- <note>
- <to>George</to>
- <from>John</from>
- <heading>Reminder</heading>
- <body>Don't forget the meeting!</body>
- </note>
第一行XML声明。它定义XML的版本(1.0)和所使用的编码(utf-8)。
下一行描述文档的根元素。(像在说:“本文档是一个便签”)<note>
接下来4行描述根的4个子元素。(to、from、heading、body)
最后一行定义根元素的结尾。</note>
XML文档必须包含根元素,该元素是所有其他元素的父元素。
XML文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。
所有元素均可拥有子元素。
父元素拥有子元素。相同层级上的子元素成为同胞,所有元素均可拥有文本内容和属性。
XML语法规则
所有XML元素都必须有关闭标签。(在XML中省略关闭标签是非法的。)
note:XML声明没有关闭标签,它不是XML本身的组成部分,不是XML元素,并且也不需要关闭标签。
XML标签对大小写敏感。
XML必须正确地嵌套。例:<b><i>hello world</b></i>
XML文档必须有根元素。(XML文档必须有一个元素是所有其他元素的父元素,该元素称为根元素。)
XML的属性值必须加引号。
实体引用。
在XML中,一些字符拥有特殊的意义。
如果你把字符“<”放在XML元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
错误XML:
<message>if salary < 1000 then</message>
正确XML:
<message>if salary < 1000 then</message>
在XML中,有5个预定义的实体引用:
< < 小于 > > 大于 & & 和号 &apos ' 单引号 " " 引号
note:在XML中,只有字符"<"和"&"确实是非法的。大于号是合法的。
XML中的注释
<!--this is a commont-->
在XML中,空格会保留
HTML会把多个连续的空格字符裁剪(合并)为一个,但是XML不会删节。
XML以LF存储换行
在Windows应用程序中,换行通常以一对字符来存储:回车符(CR)和换行符(LF)。这对字符与打字机设置新行的动作有相似之处。在Unix应用程序中,新行以LF字符存储。而Macintosh应用程序使用CR来存储。
XML元素
XML文档包含XML元素。
什么是XML元素?
XML元素是指从(且包括)开始标签知道(且包括)结束标签的部分。
元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
- <bookstore>
- <book category="CHILDREN">
- <title>Harry Potter</title>
- <author>J K. Rowling</author>
- <year>2005</year>
- <price>29.99</price>
- </book>
- <book category="WEB">
- <title>Learning XML</title>
- <author>Erik T. Ray</author>
- <year>2003</year>
- <price>39.95</price>
- </book>
- </bookstore>
在上例中,<bookstore> 和 <book> 都拥有元素内容,因为它们包含了其他元素。<author> 只有文本内容,因为它仅包含文本。
在上例中,只有 <book> 元素拥有属性 (category="CHILDREN")。
关于XML(一)。的更多相关文章
- XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...
- .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?
物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- XML技术之DOM4J解析器
由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...
- UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)
最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...
- PHP中遍历XML之SimpleXML
简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- Mybatis XML配置
Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...
- Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
- C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”
Q: 在反序列化 Xml 字符串为 Xml 对象时,抛出如下异常. 即在 XML文档(0, 0)中有一个错误:缺少根元素. A: 首先看下代码: StringBuilder sb = new Stri ...
随机推荐
- 转-Python optionParser模块的使用方法
Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功 ...
- hOAuth2.0认证和授权原理
原文地址: http://www.6zou.net/tech/what_is_oauth.html http://www.phpddt.com/%E4%BA%8C%E6%AC%A1%E5%BC%80% ...
- HTTP之Content-Length
在HTTP协议中,有Content-Length的详细解读.Content-Length用于描述HTTP消息实体的传输长度the transfer-length of the message-body ...
- Oracle“不等于号”与Nulls的情况(转)
今天突然才发现,Oracle中的“不等于操作符”是忽略null的. 比如,查询comm不等于的500的记录,我会理所当然地使用where comm != 500 预想会返回包含null的不等于500的 ...
- WordPress ‘get_allowed_mime_types’函数安全漏洞(2)
漏洞名称: WordPress ‘get_allowed_mime_types’函数安全漏洞 CNNVD编号: CNNVD-201309-169 发布时间: 2013-09-13 更新时间: 2013 ...
- 许令波老师的java的IO机制分析文章
深入分析 Java I/O 的工作机制 I/O 问题可以说是当今互联网 Web 应用中所面临的主要问题之一,因为当前在这个海量数据时代,数据在网络中随处流动.这个流动的过程中都涉及到 I/O 问题,可 ...
- 搜索(剪枝优化):HDU 5113 Black And White
Description In mathematics, the four color theorem, or the four color map theorem, states that, give ...
- 深入理解jvm之内存区域与内存溢出
文章目录 1. Java内存区域与内存溢出异常 1.1. 运行时数据区域 1.1.1. 程序计数器 1.1.2. java虚拟机栈 1.1.3. 本地方法栈 1.1.4. Java堆(Java Hea ...
- 真机测试---iOS证书(.p12)和描述文件(.mobileprovision)
iOS证书和描述文件: 证书类型 使用场景 开发(Development)证书和描述文件 用于开发测试,在starain中打包后可在真机环境通过Safari调试 发布(Distribution)证书和 ...
- android 随手记 倒计时
class CountDownUtils extends CountDownTimer { public CountDownUtils(long millisInFuture, long countD ...