详细介绍XML代码编写的编码与验证问题

xml encoding="utf-8" ?>

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

编码

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

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

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

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

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

UTF-16 编码语法如下:

<?xml version="1.0" encoding="UTF-16" standalone="no" ?>

示例

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

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>  
<contact-info>  
    <name>Tanmay Patil</name>  
    <company>TutorialsPoint</company>  
    <phone>(011) 123-4567</phone>  
</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(双引号)。
必须遵循标签的顺序,比如内部标签必须在外部标签闭合之前闭合。
每个开始标签必须都有一个结束标签或者必须是一个自闭合标签(... 或者 )。<br>在开始标签中必须只能有一个属性,并且需要使用引号包裹。<br>除了amp(&),apos(单引号),g(>),quot(双引号)实体之外其他的必须先声明再使用。<br>示例</p><p>下面是一个格式良好的 <a href="/tag-news-name-XML-p-1.html">XML</a> 文档示例:</p><pre><?<a href="/tag-news-name-xml-p-1.html">xml</a> version="1.0" encoding="UTF-8" standalone="yes" ?> <!DOCTYPE address [ <!ELEMENT address (name,company,phone)> <!ELEMENT name (#PCDATA)> <!ELEMENT company (#PCDATA)> <!ELEMENT phone (#PCDATA)> ]> <address> <name>Tanmay Patil</name> <company>TutorialsPoint</company> <phone>(011) 123-4567</phone> </address></pre><p></p><p>上面的示例被认为是格式良好的,因为:</p><p>它定义了文档类型。并且这里文档类型是元素类型。<br>包含一个名为 address 的根元素。<br>每个子元素 name,company 和 phone 都是一个自解释正确闭合的标签。<br>标签的顺序正确。</p> <p>以上就是详细介绍<a href="/tag-news-name-XML-p-1.html">XML</a>代码编写的编码与验证问题的详细内容,更多请关注www.sxiaw.com其它相关文章!</p> <button type="button" class="ask_text test-iframe-handle"> </button> </div> </article> <aside class="swnetnews"> <div class="lis"> <span><i>XMl 热点</i></span> <ul> <li><a href="/doc/2915.html" title="c#对xml的CURD操作的代码示例" target="_blank">c#对xml的CURD操作的代码示例</a></li><li><a href="/doc/1152.html" title="深入理解XML中的字符实体与字符数据" target="_blank">深入理解XML中的字符实体与字符数据</a></li><li><a href="/doc/10194.html" title="详解VSCode利用Git来可视化管理源代码的方法" target="_blank">详解VSCode利用Git来可视化管理源代码的方法</a></li><li><a href="/doc/4449.html" title="如何启动和关闭Oracle数据库" target="_blank">如何启动和关闭Oracle数据库</a></li><li><a href="/doc/10437.html" title="小米8怎么返回,只需几步就搞定" target="_blank">小米8怎么返回,只需几步就搞定</a></li><li><a href="/doc/7941.html" title="手机百度云打开BT种子的具体操作步骤" target="_blank">手机百度云打开BT种子的具体操作步骤</a></li><li><a href="/doc/1825.html" title="python好还是golang好?异同分析" target="_blank">python好还是golang好?异同分析</a></li><li><a href="/doc/1612.html" title="golang合法吗" target="_blank">golang合法吗</a></li><li><a href="/doc/10415.html" title="详解php如何正确计算中文字符串的长度" target="_blank">详解php如何正确计算中文字符串的长度</a></li><li><a href="/doc/10471.html" title="【整理分享】PHP字符串中一些处理中空格和符号的方法" target="_blank">【整理分享】PHP字符串中一些处理中空格和符号的方法</a></li><li><a href="/doc/9309.html" title="归纳整理39道PHP面试题(总结分享)" target="_blank">归纳整理39道PHP面试题(总结分享)</a></li><li><a href="/doc/8169.html" title="学会使用PHP的List、each函数及配合" target="_blank">学会使用PHP的List、each函数及配合</a></li><li><a href="/doc/893.html" title="golang的就业情况怎样?薪资水平如何?" target="_blank">golang的就业情况怎样?薪资水平如何?</a></li><li><a href="/doc/2409.html" title="PHP在图片中用 imagettftext() 添加水印(图文详解)" target="_blank">PHP在图片中用 imagettftext() 添加水印(图文详解)</a></li><li><a href="/doc/4290.html" title="实现python批量下载网易云音乐的免费音乐" target="_blank">实现python批量下载网易云音乐的免费音乐</a></li><li><a href="/doc/10568.html" title="PHP redis队列如何实现历史搜索功能" target="_blank">PHP redis队列如何实现历史搜索功能</a></li> </ul> </div> </aside> </main> <script> // first, find all the div.code blocks document.querySelectorAll('pre').forEach(el => { // then highlight each hljs.highlightElement(el); hljs.lineNumbersBlock(el); }); </script> <div id="footer"> <div class="w1200"> <p class="tips_text">本网站为非赢利性站点,本网站所有内容均来源于互联网相关站点自动搜索采集信息,相关链接已经注明来源。</p> <p class="tips_text">Copyright © 2004-2018 https://m.sxiaw.com/. All Rights Reserved.<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?716b3e81948f3acc7a5d3e276a92f5a9"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <a href="http://beian.miit.gov.cn/" target="_blank">津ICP备2023001793号-1</a></p> </div> </div> </body> </html>