xml引用实体报错怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xml引用实体报错怎么回事?相关的知识,希望对你有一定的参考价值。

参考技术A 你写的是没错的,现在的浏览器对DTD实体的支持度不够,不能够完全兼容其标准。
同样的代码,在IE11里不会出错,但实体也不会显示;
在chrome里面则会显示未定义实体。

要想让实体正确显示,必须把DTD内置到XML里面而不是作为单独的文件。

XML中保留字符及实体引用

 

字符名称

字符

实体引用

&

&

大于号

>

小于号

<

单引号

'

双引号

"

在XML文档中,构成元素内容或属性的字符一般用它本身表示,但对于XML中的保留字符如“<”,“>”等就不适用了。在XML文档中如果要使用到保留字符的话就要利用实体引用方式来表示。上表列出了XML中的五个保留字符及实体引用。

例:实体引用实例,文件名exa.xml。

<?xml version="1.0" encoding="gb2312" ?>

<recommendation>

<title>&lt; &lt;三国演义&gt; &gt; &amp; &lt; &lt;水浒传&gt;&gt;</title>

</recommendation>

 

 

     实体引用解决了如何在元素值或属性值中使用XML的保留字符。但是,当XML文档中使用到较多的保留字符时,采用实体引用方式来处理就比较繁琐了,而且代码的可读性也降低了,使用CDATA标记就是一种比较好的解决办法。CDATA标记以“<![CDATA[”开始,以“]]>”结束,而对于CDATA标记之间的内容可以直接使用XML的保留字符,而不需要通过实体引用。同样,上题改成使用CDATA标记。

例:  CDATA的使用,code.xml。

<?xml version="1.0" encoding="gb2312" ?>

<recommendation>

  <title>

    <![CDATA[ <<三国演义>> &<<水浒传>> ]]>

  </title>

</recommendation>

以上是关于xml引用实体报错怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

xml-引用实体

使用 XML 时引用未声明的实体异常

如何在有效的 XML 文档中定义 HTML 实体引用?

对实体 "useSSL" 的引用必须以 ';' 分隔符结尾。

修复“xml外部实体引用的不当限制”的最佳方法是啥?

Java XML 解析:避免实体引用解析