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

如何使SAXParser忽略转义码

尹俊贤
2023-03-14
问题内容

我正在编写一个Java程序来读取XML文件,实际上是一个iTunes库,它是XML
plist格式。我设法解决了这种格式引发的大多数障碍,除非遇到包含的文本&。XLM文件将“与”号表示为,&并且我只能设法在文本的&任何特定部分之后读取文本。

有没有办法禁用转义码检测?我正在使用SAXParser。


问题答案:

您尝试执行的操作有些混乱。

如果您尝试解析的文件格式包含“&” &字符,则它 不是 格式正确的XML。&井号表示为格式良好的XML中的字符实体(例如)。

  • 如果真的应该是真正的XML,那么在编写/生成文件的过程中都会出现错误。

  • 如果它不是真正的XML(即,“&”号不是一个错误),那么您可能不应该尝试使用XML解析器对其进行解析。

知道了 XML实际上已经正确编码,但是您没有正确使用SO标记。

看来您真正的问题是,characters(...)分别为之前的文本&,(已解码的)&文本和之后的文本分别调用了回调&。您只需要通过将文本块重新结合在一起来处理此问题。

的javadoc这样ContentHandler.characters()说:

“解析器将调用此方法来报告字符数据的每个块。SAX解析器可以在单个块中返回所有连续的字符数据,也可以将其拆分为几个块……”



 类似资料:
  • 问题内容: 这个问题本质上是相反的这一个 我有这样的方法: 当我加载它时,Hibernate抱怨我没有称为的属性。但是我不想要一个叫做-我不需要存储数据的属性-这仅仅是逻辑。 hibernate状态: org.hibernate.PropertyNotFoundException:在com.mycomp.myclass类中找不到空置属性的设置器… 我可以在方法中添加注释以使Hibernate忽略它

  • 问题内容: 我正在尝试为api 编写Web服务。因此,我编写了一个MyLogRecord类,该类继承自LogRecord。我用JAX- B注释对此类进行了注释,包括,因此它将忽略未注释的字段和属性。当我启动tomcat时,出现错误,并且其他类没有默认的构造函数,但是没有带注释的方法对Level类或任何其他类进行任何引用。这些由父类引用。 我的子类具有需要定义的所有内容。如何使JAX-B完全忽略父类

  • 例如,在node.js源文件的顶部: …或未使用的局部变量等。

  • 问题内容: 我正在一个实体框架项目。我想序列化一堆实体类实例。我将它们绑定到一个容器类中: Etcetera …这是我尝试序列化的此类的一个实例。我希望JSON.NET序列化每个实际上是基础数据库中的列的每个实体类实例的成员。我甚至不想尝试序列化对象引用。 特别是,我的实体类具有虚拟成员,这些成员使我能够编写可导航所有实体关系的C#代码,而不必担心实际的键值,联接等问题,并且我希望JSON.NET

  • 问题内容: 我一直在使用带有詹金斯的PHP_CodeSniffer,我的build.xml是为phpcs配置的,如下所示 我想忽略以下警告 如何忽略行长警告? 问题答案: 您可以创建自己的标准。Zend一个非常简单(使用PEAR安装后,在我的Debian安装中)。基于它创建另一个,但是忽略行长位: 并设置。 (可选)如果您只想在触发之前增加字符数,请重新定义规则:

  • 问题内容: 背景 大约30分钟前,我才开始使用grunt。所以,请忍受我。 但我有一个相当简单的脚本,它将查看我的js,然后将其全部压缩到一个文件中。 码 题 我的main.min.js每次都包含在编译中。这意味着我的min.js正在获得2x,4x,8x,16x等。围绕此的最佳方法是添加异常并忽略吗? 问题答案: 在src数组的 末尾 ,添加 这将排除它。!将其变成排除对象。 http://gru