sorry,我是直接将其它论坛里的内容贴过来的,所以其中的一些私有标签还在,我重发如下:请教 XML解析时实体引用的问题
我的XML文件有如下的内容片段:<card id="card2">实体引用 &#169;&copy;<br/></card>其中的&#169;&copy;都是版权符号,在IE等浏览器中直接打开,以上两个实体都可以正常被显示,但是用dom4j解析后&#169;就变成了问号——?(&copy;保持未变)。我的dom4j的解析代码大致如下:SAXReader reader = new SAXReader();
reader.setEntityResolver(new LocalEntityResolver());
Document doc = reader.read(inputsource);其中的LocalEntityResolver类实现了本地dtd的load,dtd中定义有实体申明,如下:<!ENTITY quot "&#34;">
<!ENTITY amp "&#38;">
<!ENTITY apos "&#39;">
<!ENTITY lt "&#38;#60;">
<!ENTITY gt "&#62;">
<!ENTITY nbsp "&#160;">
<!ENTITY copy "&#169;">
<!ENTITY shy "&#173;">请问为什么直接写实体代码(Entity Nubmer)不能被直接解析?应该怎样解决该问题呢?
我的XML文件有如下的内容片段:<card id="card2">实体引用 &#169;&copy;<br/></card>其中的&#169;&copy;都是版权符号,在IE等浏览器中直接打开,以上两个实体都可以正常被显示,但是用dom4j解析后&#169;就变成了问号——?(&copy;保持未变)。我的dom4j的解析代码大致如下:SAXReader reader = new SAXReader();
reader.setEntityResolver(new LocalEntityResolver());
Document doc = reader.read(inputsource);其中的LocalEntityResolver类实现了本地dtd的load,dtd中定义有实体申明,如下:<!ENTITY quot "&#34;">
<!ENTITY amp "&#38;">
<!ENTITY apos "&#39;">
<!ENTITY lt "&#38;#60;">
<!ENTITY gt "&#62;">
<!ENTITY nbsp "&#160;">
<!ENTITY copy "&#169;">
<!ENTITY shy "&#173;">请问为什么直接写实体代码(Entity Nubmer)不能被直接解析?应该怎样解决该问题呢?
解决方案 »
- 关于表单设计器
- UML关联关系 --- java编码设计实现
- Struts2 与 Spring 集成测试,由Spring自动加载beans.xml文件!控制台提示无法找到ContextLoaderListener
- 怎么添加AsyncTreeNode子节点事件
- 安装版tomcat5.5在程序中Configure Tomcat,点击start按钮启动,运行一个自定义的JFrame,窗体看不到
- 如何深入spring MVC?
- jsp和sql连接问题(数据源)
- 杭州的朋友来帮忙下
- 怎样用java将xml文件的文件数据,转化成二维表格的形式
- 各位打扰一下,请问先学习J2EE好呢?还是学习EJB好?
- 跪求帮忙! 怎么在 ColdFusion 8 上 布置 j2ee啊! 在线等候. 给分.
- 初学WebWork遇到的问题!
<!ENTITY amp "&#38;">
<!ENTITY apos "&#39;">
<!ENTITY lt "&#38;#60;">
<!ENTITY gt "&#62;">
<!ENTITY nbsp "&#160;">
<!ENTITY copy "&#169;">
<!ENTITY shy "&#173;">
写错了
把&这个符号去掉,实体引用申明怎么能带这个呢,定义中不能有,这个必须在正式引用时候作为关键符号的,不知道楼主明白我说的意思不
<!ENTITY quot "amp;#34;">写成这样再试试吧
怎么反正用呢,不太能看明白你的意思啊
<p>实体引用 </p>被解析后就变成了<p>实体引用amp;#160;</p>至于你说反过来的问题 情况是这样的,例如对于xml预定义的5个实体:
<!ENTITY quot """>
<!ENTITY amp "&">
<!ENTITY apos "'">
<!ENTITY lt "&#60;">
<!ENTITY gt ">"> 既可以使用名称如:quot\amp\apos等来引用,也可以是使用变量的值——即#34\#38\#39等来引用。现在问题是 以上5个预定的实体在document中不论以名称或数值来引用都会是正常的,但是当使用nbsp、copy等属于html的实体时 就会出现实体未定义的错误,不管用名称还是数值 都是一样的。