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

这篇文章主要介绍了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 Patilname>  
  4.     <company>TutorialsPointcompany>  
  5.     <phone>(011) 123-4567phone>  
  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(双引号)。
必须遵循标签的顺序,比如内部标签必须在外部标签闭合之前闭合。
每个开始标签必须都有一个结束标签或者必须是一个自闭合标签(... 或者 )。<br/>在开始标签中必须只能有一个属性,并且需要使用引号包裹。<br/>除了amp(&),apos(单引号),g(>),quot(双引号)实体之外其他的必须先声明再使用。<br/>示例</p><p>下面是一个格式良好的 XML 文档示例:</p><div class="codeText"><div class="codeHead"><span class="lantxt">XML/HTML Code</span><span style="CURSOR: pointer" class="copyCodeText" onclick="copyIdText('code_5804')">复制内容到剪贴板</span></div><div id="code_5804"><ol class="dp-xml"><li class="alt"><span><span class="tag"><?</span><span class="tag-name">xml</span><span> </span><span class="attribute">version</span><span>=</span><span class="attribute-value">"1.0"</span><span> </span><span class="attribute">encoding</span><span>=</span><span class="attribute-value">"UTF-8"</span><span> </span><span class="attribute">standalone</span><span>=</span><span class="attribute-value">"yes"</span><span> </span><span class="tag">?></span><span>  </span></span></li><li><span><!DOCTYPE address   </span></li><li class="alt"><span>[   </span></l<p>以上就是浅谈XML代码编写的编码与验证问题的详细内容,更多请关注0133技术站其它相关文章!</p></article><div class="post-actions"><a href="javascript:;" etap="like" class="post-like action action-like" data-pid="0"><i class="fa fa-thumbs-o-up"></i>赞(<span>0</span>)</a><a href="javascript:;" class="action action-rewards" data-event="rewards"><i class="fa fa-jpy"></i> 打赏</a></div><div class="post-copyright">未经允许不得转载:<a href="/">0133技术站首页</a> » <a href="/cate72/">HTML 教程</a></div><!--<div class="article-tags">标签:<a href="/archives/tag/javascript" rel="tag">JavaScript</a><a href="/archives/tag/%e5%be%ae%e4%bf%a1" rel="tag">微信</a><a href="/archives/tag/%e5%be%ae%e4%bf%a1%e7%9a%84%e7%89%88%e6%9c%ac%e5%8f%b7" rel="tag">微信的版本号</a><a href="/archives/tag/%e7%89%88%e6%9c%ac%e5%8f%b7" rel="tag">版本号</a><a href="/archives/tag/%e8%af%ad%e4%b9%89%e5%8c%96" rel="tag">语义化</a></div>--><nav class="article-nav"><span class="article-nav-prev">上一篇<br><a href="/cate72/1116779276225.html" rel="prev">深入解析XML中的DTD文档类型定义</a></span><span class="article-nav-next">下一篇<br><a href="/cate72/1116781867025.html" rel="next">简单了解XML中的处理指令</a></span></nav><div class="relates relates-thumb"><div class="title"><h3>相关文章</h3></div><ul><li><a href="/cate72/112882576100.html"><img data-src="https://ss.0133.cn/upload/article/000/000/006/5d44e0ed4c761884.jpg-160" alt="Canvas的绚烂起点" class="thumb"></a><a href="/cate72/112882576100.html">Canvas的绚烂起点</a></li><li><a href="/cate72/113285542400.html"><img data-src="https://ss.0133.cn/upload/article/000/000/006/5d5defa17baf4889.jpg-160" alt="初学指南之Canvas使用" class="thumb"></a><a href="/cate72/113285542400.html">初学指南之Canvas使用</a></li><li><a href="/cate72/113811787600.html"><img data-src="https://ss.0133.cn/upload/article/000/000/006/5d819cd9a2bf9992.jpg-160" alt="水波图实现原理" class="thumb"></a><a href="/cate72/113811787600.html">水波图实现原理</a></li><li><a href="/cate72/114273850625.html"><img data-src="https://ss.0133.cn/upload/article/000/000/013/5da524852b6e6613.jpg-160" alt="适用于任何项目的基本HTML5模板" class="thumb"></a><a href="/cate72/114273850625.html">适用于任何项目的基本HTML5模板</a></li><li><a href="/cate72/114496333025.html"><img data-src="https://ss.0133.cn/upload/article/000/000/006/5db8f13daaa98745.jpg-160" alt="10个你不知道你需要的html元素" class="thumb"></a><a href="/cate72/114496333025.html">10个你不知道你需要的html元素</a></li><li><a href="/cate72/115419128225.html"><img data-src="https://ss.0133.cn/upload/article/000/000/014/5def6610b2661508.jpg-160" alt="常见的类名id名命名参考规范" class="thumb"></a><a href="/cate72/115419128225.html">常见的类名id名命名参考规范</a></li><li><a href="/cate72/115643725625.html"><img data-src="https://ss.0133.cn/upload/article/000/000/013/5df9a2116ae78158.jpg-160" alt="HTML中16个全局属性介绍" class="thumb"></a><a href="/cate72/115643725625.html">HTML中16个全局属性介绍</a></li><li><a href="/cate72/115679089600.html"><img data-src="https://ss.0133.cn/upload/article/000/000/006/5dfae766776ca458.jpg-160" alt="html5不常用标签应用场景" class="thumb"></a><a href="/cate72/115679089600.html">html5不常用标签应用场景</a></li></ul></div><!-- <div class="title" id="comments"><h3>评论 <small>抢沙发</small></h3></div><div id="respond" class="no_webshot"><form action="return false;" method="post" id="commentform"><div class="comt"><div class="comt-title"><img data-src="https://secure.gravatar.com/avatar/?s=100&d=mm" class="avatar avatar-100" height="50" width="50"><p><a id="cancel-comment-reply-link" href="javascript:;">取消</a></p></div><div class="comt-box"><textarea placeholder="你的评论可以一针见血" class="input-block-level comt-area" name="comment" id="comment" cols="100%" rows="3" tabindex="1" onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"></textarea><div class="comt-ctrl"><div class="comt-tips"><input type='hidden' name='comment_post_ID' value='6053' id='comment_post_ID'/><input type='hidden' name='comment_parent' id='comment_parent' value='0'/><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="40dd7081eb"/></p><label for="comment_mail_notify" class="checkbox inline hide" style="padding-top:0"><input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" checked="checked"/>有人回复时邮件通知我</label><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="245"/></p></div><button type="button" name="submit" id="submit" tabindex="5">提交评论</button>--><!-- <span data-type="comment-insert-smilie" class="muted comt-smilie"><i class="icon-thumbs-up icon12"></i> 表情</span> --><!-- </div></div><div class="comt-comterinfo" id="comment-author-info"><ul><li class="form-inline"><label class="hide" for="author">昵称</label><input class="ipt" type="text" name="author" id="author" value="" tabindex="2" placeholder="昵称"><span class="text-muted">昵称 (必填)</span></li><li class="form-inline"><label class="hide" for="email">邮箱</label><input class="ipt" type="text" name="email" id="email" value="" tabindex="3" placeholder="邮箱"><span class="text-muted">邮箱 (必填)</span></li><li class="form-inline"><label class="hide" for="url">网址</label><input class="ipt" type="text" name="url" id="url" value="" tabindex="4" placeholder="网址"><span class="text-muted">网址</span></li></ul></div></div></form></div>--></div></div><div class="sidebar"><div class="widget widget_ui_tags"><h3>前端开发</h3><div class="items"><a href="/cate72/">HTML 教程</a><a href="/cate73/">CSS 教程</a><a href="/cate74/">JavaScript 教程</a><a href="/cate79/">Vue.js 教程</a><a href="/cate80/">Node.js 教程</a></div></div><form method="get" class="search-form clearfix" id="search-formhybrid-search" target="_blank" action="/search/article/"><div class="search-input-wrap"><input type="text" class="search-text" placeholder="来搜我" name="word" id="search-texthybrid-search" value="" data-placeholder=""><b class="search-liaosheji"></b><button type="submit" class="search-button"><i class="icon-search"></i></button></div></form><div style="text-align:center;margin:0 auto;"><ul class='hot-search layui-clear'><li style="float:left;margin-right:20px;">热门搜索:</li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=编码问题'>编码问题</a></li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=代码编写'>代码编写</a></li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=编写代码'>编写代码</a></li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=编写的代码编辑器'>编写的代码编辑器</a></li><li style="float:left;margin-right:20px;"><a href='/search/article/?word=编写XML'>编写XML</a></li></ul></div><br/><div class="widget widget_ui_posts"><h3>置顶推荐</h3><ul><li><a href="/cate99/113247636454400.html"><span class="thumbnail"><img data-src="https://ss.0133.cn/upload/article/000/000/001/61c030e32e4d9281.jpg" alt="qq火花是过了24小时断吗" class="thumb"></span><span class="text">qq火花是过了24小时断吗</span><span class="muted">2021-12-20</span></a></li></ul></div><div class="widget widget_recent_entries"><h3>猜你喜欢</h3><ul><li><a href="/cate72/118201979225.html" target="_blank">HTML中五种网页跳转的方法</a><span class="post-date">2020-04-28</span></li><li><a href="/cate72/111273072133025.html" target="_blank">搜索引擎免费收录网站入口小集</a><span class="post-date">2021-10-20</span></li><li><a href="/cate72/111105725816225.html" target="_blank">前端开发必备:12款浏览器兼容性测试工具推荐</a><span class="post-date">2021-10-17</span></li><li><a href="/cate72/119004350485625.html" target="_blank">限制input输入类型(多种方法实现)</a><span class="post-date">2023-09-05</span></li><li><a href="/cate72/11191397460100.html" target="_blank">浅谈HTML的语义化和一些简单优化</a><span class="post-date">2021-09-25</span></li><li><a href="/cate72/111983224352900.html" target="_blank">HTML中的图象标签属性</a><span class="post-date">2021-11-10</span></li><li><a href="/cate72/11197020536900.html" target="_blank">html固定标题列、标题头table具体实现代码</a><span class="post-date">2021-09-25</span></li><li><a href="/cate72/112313562641600.html" target="_blank">推荐深入理解css中的position定位和z-index属性</a><span class="post-date">2021-11-16</span></li></ul></div><!--<div class="widget widget_ui_tags"><h3>热门标签</h3><div class="items"><a href="/archives/tag/javascript">JavaScript (324)</a></div></div><div class="widget widget_ui_comments"><h3>最新评论</h3><ul><li><a href="" title=""><img data-src="" class="avatar avatar-100" height="50" width="50"><strong></strong></a></li></ul></div>--></div><div id="leftbar" class="leftbar"><div class="leftbar-con"><div style="text-align: center; width: 160px;"></div></div></div></section><footer class="footer"><div class="container"><p>© 2022 <a href="/">WEB前端开发</a></p><p><a href="/cate88/">工具教程</a> | <a href="/cate71/">前端开发</a> | <a href="/cate61/">常见问题</a> | <a href="/cate129/">操作系统</a> | <a href="/cate103/">编程</a> | <a href="/cate108/">网络安全</a> | <a href="/cate120/">设计</a> | <a href="/cate137/">站长技巧</a></p><div class="footer-gav" style="margin-bottom: 10px ;font-size: 12px;"><img src="https://ss.0133.cn/newimg88/2016/06/beian-gov-cn.png" style="vertical-align: middle; height: 14px;"/><a href="https://beian.miit.gov.cn/" target="_blank">鄂ICP备2021014202号-2</a></div><div class="footer-qrcode"></div></div></footer><script> window.jsui = { www: '', uri: '/wp-content/themes/dux', ver: '5.2.5', roll: ["1", "2"], ajaxpager: '0', url_rp: '/about' }; </script><script type='text/javascript' src='/wp-content/themes/dux/js/libs/bootstrap.min.js?ver=5.2.5'></script><script type='text/javascript' src='/wp-content/themes/dux/js/loader.js?ver=5.2.5'></script><script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=5.0.2'></script><script async="async" type='text/javascript' src='/wp-content/plugins/akismet/_inc/form.js?ver=4.0.8'></script><script type="text/javascript"> var $win = jQuery(window); var $WindowW = $win.width(); var $threebar = jQuery("#leftbar"); if ($threebar.length) { var offsetT = $threebar.offset().top; $win.on("scroll.leftbar", function () { if ($WindowW >= 1200) { if ($win.scrollTop() >= (offsetT)) { $threebar.find(".leftbar-con").css({ "position": "fixed", "top": 0 }); } else { $threebar.find(".leftbar-con").css("position", "static") } } }); } // Array var imagesArr = []; $('#article-content').find("img").each(function (index, Element) { imagesArr.push(Element) }); mediumZoom(imagesArr, { margin: 24, background: '#FFFFFF', scrollOffset: 0 }) </script><script> (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); ga('create', 'UA-3448069-1', 'css88.com'); ga('send', 'pageview'); </script><script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?08985692e4db1e8be1cff8097c2979b7"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script><script> (function () { var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script></body></html>