dtd文件中写的引用实体被xml文件引用后无法在浏览器中显示的问题
解决方案:把dtd文件由被xml文件外部引用改成被xml文件内部引用。
例子:
1.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!--文件名:学生信息管理 -->
<!--关键字'SYSTEM'代表.DTD文件来源于当前系统,而不是来源于网络 -->
<!DOCTYPE 班级 SYSTEM "学生信息管理.dtd">
<班级>
<学生 地址="香港"
学号="tj1710008"
大哥="tj1710009 tj1710008"
性别="男"
>
<姓名>刘德华</姓名>
<年龄>23</年龄>
<简单介绍>学习刻苦! &mycopy;&mycopy;</简单介绍>
</学生>
<学生 地址="台湾"
学号="tj1710009"
大哥="tj1710008 tj1710009"
性别="女"
>
<姓名>林志玲 &mycopy;</姓名>
<年龄>22</年龄>
<简单介绍>学习刻苦!认真听讲!</简单介绍>
</学生>
</班级>
2.对应的dtd约束文件:
<?xml version="1.0" encoding="UTF-8"?>
<!--文件名:学生信息管理 -->
<!ELEMENT 班级 (学生+)>
<!ELEMENT 学生 (姓名,年龄,简单介绍)>
<!--"#REQUIRED"代表属性值是"必须"的 -->
<!--"地址"这两个字是属性名字,是可以自定义的 -->
<!--"ID"代表学号的属性值惟一,不可重复 -->
<!--"DREFS"代表大哥的属性值是参考其他属性(学号)的属性值,DREF加个"S"代表可以有多个参考 -->
<!--"(男|女)"代表是枚举,性别的属性值只能从括号中的值里面选择-->
<!ATTLIST 学生
地址 CDATA #REQUIRED
学号 ID #REQUIRED
大哥 IDREFS #REQUIRED
性别 (男|女) #REQUIRED
>
<!--(#PCDATA)代表简单介绍可以是任何文本 -->
<!ELEMENT 姓名 (#PCDATA)>
<!ELEMENT 年龄 (#PCDATA)>
<!ELEMENT 简单介绍 (#PCDATA)>
<!--引用实体在dtd文件里面定义,在xml文件中使用,最好定义在最后面,目的是给一串字符串起个别名-->
<!ENTITY mycopy "我的公司版权">
<!--此时"我的公司版权"这一个长字符串在xml文件里面可以用"mycopy"代替,如果需要引用这个长字串的话-->
3.以上的xml文件在浏览器中无法显示实体引用,下面修改xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!--文件名:学生信息管理_inner_dtd -->
<!--关键字'SYSTEM'代表.DTD文件来源于当前系统,而不是来源于网络 -->
<!DOCTYPE 班级 [
<!ELEMENT 班级 (学生+)>
<!ELEMENT 学生 (姓名,年龄,简单介绍)>
<!--"#REQUIRED"代表属性值是"必须"的 -->
<!--"地址"这两个字是属性名字,是可以自定义的 -->
<!--"ID"代表学号的属性值惟一,不可重复 -->
<!--"DREFS"代表大哥的属性值是参考其他属性(学号)的属性值,DREF加个"S"代表可以有多个参考 -->
<!--"(男|女)"代表是枚举,性别的属性值只能从括号中的值里面选择-->
<!ATTLIST 学生
地址 CDATA #REQUIRED
学号 ID #REQUIRED
大哥 IDREFS #REQUIRED
性别 (男|女) #REQUIRED
>
<!--(#PCDATA)代表简单介绍可以是任何文本 -->
<!ELEMENT 姓名 (#PCDATA)>
<!ELEMENT 年龄 (#PCDATA)>
<!ELEMENT 简单介绍 (#PCDATA)>
<!--引用实体在dtd文件里面定义,在xml文件中使用,最好定义在最后面,目的是给一串字符串起个别名-->
<!ENTITY mycopy "我的公司版权">
<!--此时"我的公司版权"这一个长字符串在xml文件里面可以用"mycopy"代替,如果需要引用这个长字串的话-->
]>
<班级>
<学生 地址="香港"
学号="tj1710008"
大哥="tj1710009 tj1710008"
性别="男"
>
<姓名>刘德华</姓名>
<年龄>23</年龄>
<简单介绍>学习刻苦! &mycopy; &mycopy;</简单介绍>
</学生>
<学生 地址="台湾"
学号="tj1710009"
大哥="tj1710008 tj1710009"
性别="女"
>
<姓名>林志玲 &mycopy;</姓名>
<年龄>22</年龄>
<简单介绍>学习刻苦!认真听讲!</简单介绍>
</学生>
</班级>
4.此时,拉入到浏览器中,可以显示实体引用了。
dtd文件中写的引用实体被xml文件引用后无法在浏览器中显示的问题的更多相关文章
- 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】
一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...
- Spring中Bean的配置:基于XML文件的方式
Bean的配置一共有两种方式:一种是基于XML文件的方式,另一种是基于注解的方式.本文主要介绍基于XML文件的方式 <bean id="helloWorld" class=& ...
- 辅助的写与数据库交互的XML文件的类
现在企业级WEB应用中与数据库交互的XML文件都是通过插件自动生成的,不过有些时候修改比较老的项目的时候也是需要手动的来做这一动作的!如下代码就是一个实现上述的功能的辅助类,在此记录一下以备后用! p ...
- 通俗易懂,C#如何安全、高效地玩转任何种类的内存之Span的脾气秉性(二)。 异步委托 微信小程序支付证书及SSL证书使用 SqlServer无备份下误删数据恢复 把list集合的内容写入到Xml中,通过XmlDocument方式写入Xml文件中 通过XDocument方式把List写入Xml文件
通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的脾气秉性(二). 前言 读完上篇<通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的本质(一).>,相信大家对sp ...
- C#中常用的几种读取XML文件的方法
1.C#中常用的几种读取XML文件的方法:http://blog.csdn.net/tiemufeng1122/article/details/6723764/
- js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中
ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId ...
- Android -- 创建XML文件对象及其序列化, pull解析XML文件
1. 创建XML文件对象及其序列化 示例代码:(模拟以xml格式备份短信到SD卡) SmsInfo.java, bean对象 /** * 短信的业务bean * @author Administrat ...
- 当向计算机中存入一个float类型的数值2.2 后,在从计算机中读出输出,这时2.2 的值已经发生了变化(转)
problom : 'f1' value hava been changed when output. reason : the binary repersentation of 2.2f is : ...
- 在Eclipse如何实现在xml文件实现代码提示
通常我们创建xml文件时, 总会在编辑代码的时候不能像编辑Java文件那样进行自动提示或者补全.其实这个是可以实现的,下面我就以struts2.xml进行示范: 1.点击"winbdows& ...
随机推荐
- CodeForces - 11D A Simple Task
Discription Given a simple graph, output the number of simple cycles in it. A simple cycle is a cycl ...
- 某考试 T3 bitboard
bitboardDiscription 天才发明家小K 制造了一块比特板.板子上有2^n个比特元,编号为0 ∼ 2^n−1.每个比特元
- Utuntu 和 window共享文件
由于自己想用服务器跑代码,数据集和模型一般都在本机电脑上,用实验室服务器需要拷贝数据或者,在服务器上重新下载数据很麻烦 都在局域网内可以实现文件共享,代码和数据都在本地,共享给服务器,只需要使用服务器 ...
- hough变换检测直线和圆
图像测量和机器视觉作业: 提取图像中的直线和点的位置坐标,将其按一定顺序编码存入一文本文件,并在原图像上叠加显示出来. 下午实验了一下: 程序环境:vs2013(活动平台为x64)+opencv3.1 ...
- Nutch学习笔记一 ---环境搭建
学习环境: ubuntu 概要: Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 通过nutch,诞生了hadoop.tika ...
- sql_视图和函数
创建视图: create view xxx as select * from userinfo; 删除视图: drop view xxx 修改视图: alter view xxx as selete ...
- 解决chrome浏览器us-yahoo.com搜索劫持
一直用着greenchrome浏览器,结果有次之后,地址栏的默认搜索引擎用的bing,但是仍然会重定向到us-yahoo.com进行搜索,初起时以为是greenchrome插件作者的返利,类似2345 ...
- Word Ladder II——找出两词之间最短路径的所有可能
Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) from ...
- C语言关键字—-sizeof 、typedef、const、static、register、extern、#define
关键字:sizeof .#define.typedef.const.static.register.extern sizeof 1. 作用:求数据所占得内存空间大小 2. 本质:求数据得类型所占的内存 ...
- .NET MVC 4 实现用户注册功能
初学MVC,踩了不少坑,所以通过实现一个用户注册功能把近段时间学习到的知识梳理一遍,方便以后改进和查阅. 问题清单: l 为什么EF自动生成的表名后自动添加了s? l 如何为数据库初始化一些数据? l ...