当前位置: 首页 > 面试题库 >

Java XML处理实体有问题吗?

夏侯弘光
2023-03-14
问题内容

尝试运行Java程序时出现以下错误(应该读取xml文件并打印出一些内容)。

据我了解,有一个未引用的实体不是xml标准的一部分,所以我的问题是;我该如何解决这个问题?

谢谢,

[Fatal Error] subject.xml:4:233: The entity "rsquo" was referenced, but not declared.
org.xml.sax.SAXParseException: The entity "rsquo" was referenced, but not declared.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at DomParserExample2.parseXmlFile(DomParserExample2.java:42)
at DomParserExample2.runExample(DomParserExample2.java:24)
at DomParserExample2.main(DomParserExample2.java:115)
Exception in thread "main" java.lang.NullPointerException
at DomParserExample2.parseDocument(DomParserExample2.java:54)
at DomParserExample2.runExample(DomParserExample2.java:27)
at DomParserExample2.main(DomParserExample2.java:115)

问题答案:

该实体’不是XML实体。它以HTML定义:http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

如果创建了XML,则可以将实体添加到DTD。

这样的事情可能会有所帮助:http :
//gv.ca/dtd/character-entities.dtd

编辑:要解决此问题,您可以将DTD添加到XML文件(如果尚未定义)。

您的XML:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE demo SYSTEM "./demo.dtd">
<demo>
    &rsquo;
</demo>

您的DTD:

<!ELEMENT demo (#PCDATA)>
<!ENTITY rsquo   "&#8217;">

如果将DTD提供给您的应用程序,该错误就会消失。我不会自己写alle
Entites,而是使用W3C的http://www.w3.org/TR/xhtml1/DTD/xhtml-
lat1.ent

如何为您的XML包含DTD是另一个问题。据我所知,您可以将路径设置为DTD或目录文件。

编辑2:看一下EntityResolver:http
:
//download.oracle.com/javase/1.4.2/docs/api/org/xml/sax/EntityResolver.html



 类似资料:
  • 本文向大家介绍问题:如果数据有问题,怎么处理;相关面试题,主要包含被问及问题:如果数据有问题,怎么处理;时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1.上下采样平衡正负样例比;2.考虑缺失值;3.数据归一化 解析:发散问题需要自己展现自己的知识面      

  • 本文向大家介绍体验MySQL5.6.25并处理所遇到的问题,包括了体验MySQL5.6.25并处理所遇到的问题的使用技巧和注意事项,需要的朋友参考一下 在安装包下的根目录,之前的版本是有my.ini文件可以用来配置的,然而在新的版本中却只发现了my-defult.ini文件。 而且里面的数据少之又少。想要修改字符编码之前的方式行不通了。 用记事本打开该文件会发现并没有【default-charac

  • 问题内容: 我有一个关于异常处理的问题。考虑以下Java代码段。 我知道这是处理异常的推荐方法。但是我可以通过使用以下代码片段来实现相同的目的。 有人可以告诉我第二种方法的弊端吗? 问题答案: 第二种方法可读性较差。此外,即使“聪明”的窍门是使用instanceof关键字,Pokemon异常处理也永远不会走。无论如何,我不是在取笑或嘲笑您,但最好是编写供人类阅读和维护的代码,而不是计算机。

  • 本文向大家介绍处理兼容问题有两种方式:相关面试题,主要包含被问及处理兼容问题有两种方式:时的应答技巧和注意事项,需要的朋友参考一下 1)IE6/IE7/IE8支持通过document方法产生的标签,利用这一特性让这些浏览器支持HTML5新标签。 2)使用是html5shim框架 另外,DOCTYPE声明的方式是区分HTML和HTML5标志的一个重要因素,此外,还可以根据新增的结构,功能元素来加以区

  • 我对Java硒有问题。我用它来自动化测试web页面,它的结构非常复杂--大量的元素是动态加载的,html页面中有大量不必要的元素。要使我的测试可靠是很难的。有时页面不能加载,或者我尝试点击还不存在的按钮(当然是类似的方法)。 于是,我用下面这样的方法编写了Util类: 我知道它看起来很糟糕,我还没有重构它,但是method通常在大多数情况下工作良好--在第二个或第三个循环中输入字段被填充。 首先,

  • 网址是这个 https://bs-cdc.ecust.edu.cn/%e6%b5%b7%e4%bf%a1/ 这两个二维码大小不一致 (因为原图大小就不一致), 需要把右边的二维码调大一点, 让它肉眼看上去一样大就行 因为图片外侧是有留白的, 我的解决方案是把这张图片放大 10~20 px 宽度, 然后img在外面的div.col设置overflow-hidden 求一段将上述图片放大的css代码示