最近在把JDK升级到1.6时碰到一个奇怪的问题。
在jdk1.6版本中,ibatis解析数据库映射文件时,如果文件的注释中出现基数个汉字,且和注释结束符间没有空格分开时,如<!-- 强-->,就会出现解析异常,异常信息如下:
org.xml.sax.SAXParseException: The string "--" is not permitted within comments.
解决方法:1.在注释结束符号前添加空格,如<!-- 强 -->。
注释中中文的编码问题,UTF-8编码的映射文件中的注释,如<!-- 强-->被当作GBK编码解析时,会变成<!-- 寮?->,从而破坏了整个文件的结构。
在UTF-8编码下,中文字用3个字节数表示,而在GBK编码下一个中文字用两个字节表示。
<!-- 强-->的UTF-8的字节编码为:3c 21 2d 2d 20 e5 bc ba
2d 2d 3e
用GBK解析时,e5 bc当作一个汉字解析,而ba 2d也被作为一个汉字解析了,
结果如下:<!-- 寮?->
注释中如果是偶数个汉字时,UTF-8下的字节数也为偶数个,用GBK解析时就不会多出一个字节。
问题:为什么jdk1.5就不会出错,只在jdk1.6时出错?
分享到:
相关推荐
4. `comment_handler`:用于处理XML注释。 在C语言中,我们可以使用`fscanf()`函数从文件中读取XML数据,然后通过这些处理器函数进行解析。例如: ```c void parse_xml(FILE *fp) { char buffer[BUFFER_SIZE]; ...
1.内容中含有xml预定好的实体,如“<”和“&”,对xml来说是禁止使用的,针对这种字符,解决方式是使用CDATA部件以”<![CDATA[” 标记开始,以”]]>”标记结束,是CDATA内部内容被解析器忽略。具体说明参考...
在iOS和macOS开发中,GDataXMLNode是一个常用的第三方XML解析库,它提供了简单易用的接口,帮助开发者高效地处理XML文档。 GDataXMLNode库源自Google的数据对象库,其主要功能是解析XML文档并提供API来访问和操作...
1. **解析XML**: 首先,需要解析XML文件,提取出所有相关的元素及其属性。 2. **构建数据模型**: 根据提取的数据,构建一个树状的数据模型,其中每个节点代表XML文件中的一个元素。 3. **渲染视图**: 最后,根据构建...
- 在使用Javadoc模式时,保持注释清晰、简洁且完整,以便工具能正确解析。 - 使用适当的注释策略,如使用`@Entity`、`@Table`等来指定实体和表名,`@Id`来标识主键,`@GeneratedValue`来定义生成策略等。 - 对于...
在IT行业中,XML(eXtensible Markup Language)文件是一种重要的数据存储和交换格式,它以结构化的方式组织数据,便于人类阅读和机器解析。C#是微软开发的一种面向对象的编程语言,广泛用于Windows平台上的应用程序...
4. 可能还包含错误处理机制,确保在文件不存在或解析出错时提供适当的反馈。 通过深入理解XML的结构和LabVIEW的XML处理函数,你可以创建更复杂的程序,例如搜索特定元素、更新XML文件内容或者验证XML文档的结构是否...
它具有自解释性、结构清晰的特点,使得数据的读取和解析更为方便。XML文件通常以树形结构展示,便于理解和操作。 "巨好用的XML折叠工具(树形结构化).rar" 提供的是一款高效实用的XML编辑器,它专门针对XML文件的...
例如,可以选择是否忽略空格和注释,或者是否在解析过程中进行XML实体转义。 7. **性能**:尽管增加了模板和异常等特性,但ticpp仍保持着小巧和高效的特性。由于其轻量级的设计,即使在资源有限的环境中也能快速...
alert('XML文档解析出错:' + xmlDoc.parseError.reason); window.location.href = '/Index.aspx'; return; } ``` 这是非常重要的错误处理机制,确保了在文档加载失败或解析出错时,用户能够得到及时反馈,并...
为了解决这一问题,微软推出了XML DOM(Document Object Model for XML),这是一种用于处理XML文档的强大工具。 #### 二、XML DOM概述 XML DOM 是一个用于处理XML文档的标准对象模型。它提供了一组API...
你可以将上面的myfile.xml修改一下,比如将改为,然后用IE5直接打开myfile.xml,会得到一个出错信息页面: <?xml version="1.0" encoding="GB2312"?> <title>XML轻松学习手册 <author>ajie <Email>ajie@aolhoo....
本篇文章将详细解释TinyXML的基本操作,包括如何创建、加入节点以及对XML文档进行操作。 1. **安装与引入** 在开始使用TinyXML之前,你需要将TinyXML的源文件(如`tinyxml.cpp`、`tinystr.cpp`和`tinyxmlerror.cpp...
XML(eXtensible Markup Language)是一种用于存储和交换数据的标记语言,它以其结构化、自解释性和广泛兼容性而被广泛应用。在IT行业中,无论是C#还是Java,都有强大的库支持对XML文件的读写操作。本教程将详细介绍...
2. **编写解析逻辑**:根据业务需求,编写解析逻辑,这通常涉及到DOM、SAX或StAX等XML解析库。解析逻辑会读取输入数据(可能是数据库表结构或其他配置),然后生成对应的Java代码和XML配置。 3. **生成代码**:使用...
通过使用“simple-xml2object-1.0.0”,开发者可以避免手动编写XML解析代码,减少出错的可能性。例如,一个XML文档中的用户信息可以被转换为User对象,包括用户名、年龄等属性。 对象到XML的转换同样重要。当需要将...
XML(eXtensible Markup Language)是一种标记语言,它的主要特点是具有自解释性,易于人阅读和机器解析。在 `config.xml` 文件中,数据通常以键值对的形式存在,例如 `<key>value</key>`。每个键代表一个配置项,...
- `xmlDoc.parseError`: 当解析XML文件出错时,可以获取错误信息。 - `xmlDoc.parseError.errorCode`: 错误代码。 - `xmlDoc.parseError.reason`: 错误原因。 8. **命名空间支持** 在处理包含命名空间的XML文档...
总而言之,通过文章中的实例代码和解释,我们可以了解到如何使用JavaScript来操作和解析XML文件,并将数据展示在网页上。这不仅丰富了我们的Web开发工具箱,还提升了我们处理Web数据交换的能力。在当今的Web开发场景...
在“一种网页游戏开发、解析方法、一种编辑器以及解析装置.pdf”文档中,读者可以期待找到关于这些主题的详细解释,包括但不限于: 1. 网页游戏开发的基本流程和常用技术栈。 2. 游戏数据解析的算法和最佳实践。 3. ...