浅谈XML代码编写的编码与验证问题

   2016-03-06 0
核心提示:这篇文章主要介绍了XML代码编写的编码与验证问题,与HTML类似,XML文件的编码也能在序言部分被指定,需要的朋友可以参考下

编码

编码就是转换 Unicode 字符为等价二进制表示的过程。XML 处理程序读取一个 XML 文档时,它依赖于编码类型来编码文档。因此,我们需要在 XML 声明中指定编码类型。

编码类型
主要有两种类型的编码:

UTF-8
UTF-16
UTF 表示 UCS 转换格式,而 UCS 本身的意义是通用字符集。编号 8 或者 16 表示呈现字符的比特数。它们是 8(一个字节)或者 16(两个字节)。对于没有编码信息的文档,默认使用 UTF-8。

语法
编码信息包含在 XML 文档的序言部分。UTF-8 编码的语法如下:

XML/HTML Code复制内容到剪贴板
  1. <?xml version="1.0" encoding="UTF-8" standalone="no" ?>  

UTF-16 编码语法如下:

XML/HTML Code复制内容到剪贴板
  1. <?xml version="1.0" encoding="UTF-16" standalone="no" ?>  

示例

下面的例子展示了编码声明:

XML/HTML Code复制内容到剪贴板
  1. <?xml version="1.0" encoding="UTF-8" standalone="no" ?>  
  2. <contact-info>  
  3.     <name>Tanmay Patil</name>  
  4.     <company>TutorialsPoint</company>  
  5.     <phone>(011) 123-4567</phone>  
  6. </contact-info>  

在上面的 encoding="UTF-8" 示例中,指定使用 8 位表示字符。要使用 16 为表示字符,可以使用 UTF-16 编码。

使用 UTF-8 编码的 XML 文件尺寸比 UTF-16 格式的文件更小。

验证

验证 就是对 XML 文档进行验证的过程。如果文档内容与元素,属性和关联的文档类型定义(DTD)匹配,以及文档符合b表达的约束则该文档被认为是有效的。通过 XML 解析器处理验证的方式有两种。分别是:

格式良好的 XML 文档
有效的 XML 文档
格式良好的 XML 文档
如果 XML 文档遵守以下规则则被认为是格式良好的。

没有 DTD 的 XML 文档必须使用预定义的字符实体处理 amp(&),apos(单引号),g(>),quot(双引号)。
必须遵循标签的顺序,比如内部标签必须在外部标签闭合之前闭合。
每个开始标签必须都有一个结束标签或者必须是一个自闭合标签(<title>...</title> 或者 <title />)。
在开始标签中必须只能有一个属性,并且需要使用引号包裹。
除了amp(&),apos(单引号),g(>),quot(双引号)实体之外其他的必须先声明再使用。
示例

下面是一个格式良好的 XML 文档示例:

XML/HTML Code复制内容到剪贴板
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>  
  2. <!DOCTYPE address   
  3. [   
  4. <!ELEMENT address (name,company,phone)>  
  5.     <!ELEMENT name (#PCDATA)>  
  6.     <!ELEMENT company (#PCDATA)>  
  7.     <!ELEMENT phone (#PCDATA)>  
  8. ]>  
  9. <address>  
  10.     <name>Tanmay Patil</name>  
  11.     <company>TutorialsPoint</company>  
  12.     <phone>(011) 123-4567</phone>  
  13. </address>  

上面的示例被认为是格式良好的,因为:

它定义了文档类型。并且这里文档类型是元素类型。
包含一个名为 address 的根元素。
每个子元素 name,company 和 phone 都是一个自解释正确闭合的标签。
标签的顺序正确。

 
标签: XML 编码 验证
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • JavaScript的XMLHttpRequest对象
    ajax的核心技术是XMLHttpRequest对象,简称XHR。//支持IE7及更高的版本function createXML(){if(typeof XMLHttpReqquest!="undefined"){return new XMLHttpRequest();}else if(typeof ActiveXObject!="undefined"){if(typeof arguments.callee.activeXString!
    03-08
  • DOM,html,JavaScript,xml,CSS,浏览器之间的关系
    DOM,html,JavaScript,xml,CSS,浏览器之间
    DOM树解释:W3C所制订的DOM Level分为两大模块:Core和HTML。1.Core核心,W3C规范:满足软件开发者和Web脚本编写者,访问和操控产品项目中包含的可解析的HTML和XML内容。2.HTML模块,规范描述为:HTML之中特定元素的功能,和恰到好处的、易用的、针对常见性任
    03-08
  • 响应消息的内容类型 text/html; charset=utf-8
    问题表述:响应消息的内容类型 text/html; charset=utf-8 与绑定(application/soap+xml; charset=utf-8)的内容类型不匹配。 说明:此类问题当请求内容与响应消息内容不一致时发生。特别地,如果在站点错误描述中出现这个说明,一般代表站点后台自身的网络访
    03-08
  • jquery-easyui:格式化列 js格式化xml
    主框架页面: 在主界面区会加载西区菜单点击的URL内容. !DOCTYPE htmlhtmlheadmeta charset="UTF-8"/title主界面/titlediv th:include="/public/util::public"/div th:include="/public/util::jquery-easyui"/script type="text/javascript" th:src="(${@
    03-08
  • javascript读取XML
    2006-09-22 09:39 作者: 出处: 天极网   我的xml文件Login.xml如下.?xml version="1.0" encoding="utf-8" ?Login    Character        C Text="热血" Value="0"/C        C Text="弱气" Value="1"/C        C Text="
    03-08
  • XML与HTML的区别
    一、HTML       HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。  二、XML       XML即ExtentsibleMarkup Language(可扩展标记语言),是用来定义其它语言的一种元语言,其前身是SGML(标准通用标记语言)。它没有标签集(tagset),
    03-08
  • 一个xml转html的小程序 别人一个毕业设计【难度
    本来想5分钟写写发过去了。。发现机子上就一个vs2003 没办法用 1.1的来写一个吧。。每次都是从新google下。。这次也不例外。。奶奶的。。发现竟是2.0的代码。。无奈。自己摸索了下。。搞了10分钟写了点代码。。部分源码如下(最下面提供代码下载):---------
    03-08
  • 直接用mysql输出xml或html语句
    mysql -uroot -proot -Hc:/sql.sqlc:/data.html;mysql -uroot -proot -Xc:/sql.sqlc:/data.xml;在sql.sql中写入批处理命令,既可导出xml或html数据
    02-08
  • 微信小程序 - WXML语法与HTML比较
    上章我们看到一个小程序的page是由 .wxml  .wxss  .js  .json组成。wxml:相当于html,开发小程序的页面wxss:相当于css,小程序页面渲染样式js:实现小程序的动态方法等,包括该page的生命周期函数等json:用于小程序的配置如果你已经很熟练掌握Html,那
    02-08
  • 调用Web Service服务出现响应消息的内容类型tex
         错误信息:响应消息的内容类型 text/html; charset=utf-8 与绑定(text/xml; charset=utf-8)的内容类型不匹配。如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。    今天小姚给客户做远程的时候出现这问题,第一感觉应该是配
    02-08
点击排行