=波波日志 > HTML/WML/CSS兼容/XML > IE解析XML文档碰到DTD声明出错=

IE解析XML文档碰到DTD声明出错

IE解析XML文档碰到DTD声明出错
  在IE浏览器下查看xml文件,如果使用了DTD外部申明,DTD文件中如果有中文字符,则DTD文件需要存储为utf-8的编码,要不在IE下浏览使用了外部申明的XML文件时,解析DTD文件会出错。

  而使用内部的 DOCTYPE 声明时,XML文件不需要一定存储为utf-8,只需要存储编码和xml申明的编码一致就行,要不出错。
  
  总结如下
  一,使用内部的 DOCTYPE 声明,XML申明指定编码需要和XML文件的实际存储编码一致。
  1)如果XML申明指定编码为“gb2312”,则存储编码要为“ANSI”。
  2)如果XML申明指定编码为“utf-8”,则存储编码要设置为“utf-8”。
  
  二,使用外部DTD文件,如果DTD文件中存在中文字符,则DTD文件需要存储为“utf-8”的编码,要不在IE浏览器下解析DTD文件出错。XML文件编码和第一点说的要一致。
  

  内部的 DOCTYPE 声明举例,此例子xml申明了编码为utf-8,所以文件存储编码一定要为utf-8的,如果为ANSI格式,则任何浏览器都会解析出错。
+展开
-XML
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE library [
  <!--######library.dtd文档#####-->
  
  <!ELEMENT 电影 (名字,格式)>
  <!ATTLIST 电影 id ID #REQUIRED>
  <!ELEMENT 名字 (#PCDATA)>
  <!ELEMENT 格式 (#PCDATA)>
]>
<library>
    <电影 id="1">
        <名字>投名状</名字>
        <格式>DVD</格式>
    </电影>
    <电影 id="2">
        <名字>集结号</名字>
        <格式>VCD</格式>
    </电影>
    <电影 id="3">
        <名字></名字>
        <格式></格式>
    </电影>
</library>

  
  
  使用外部DTD文件
  1)不包含中文的DTD文件,则DTD存储编码为ANSI或者utf-8都可以
XML文件
+展开
-XML
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>


DTD文件
+展开
-XML
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>


  2)包含中文的DTD文件,则DTD存储编码一定要为utf-8,要不IE下解析DTD文件出粗
XML文件
+展开
-XML
<?xml version="1.0" encoding="gb2312" standalone="no"?>
<!DOCTYPE library SYSTEM "library.dtd">
<library>
    <电影 id="1">
        <名字>投名状</名字>
        <格式>DVD</格式>
    </电影>
    <电影 id="2">
        <名字>集结号</名字>
        <格式>VCD</格式>
    </电影>
    <电影 id="3">
        <名字></名字>
        <格式></格式>
    </电影>
</library>


DTD文件,再次强调存储编码一定要为utf-8,要不IE下出错
+展开
-XML
<!--######library.dtd文档#####-->
<!ELEMENT library (电影+)>
<!ELEMENT 电影 (名字,格式)>
<!ATTLIST 电影 id ID #REQUIRED>
<!ELEMENT 名字 (#PCDATA)>
<!ELEMENT 格式 (#PCDATA)>


更改存储编码的文章
巧用记事本更换文本类型文件的存储编码
类别:HTML/WML/CSS兼容/XML 作者:波波 日期:2010-07-21 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012WEB编程网桂ICP备05005887号 京公网安备1101055090