遇到了非法的XML字符报错如下:
org.jdom.IllegalDataException: The data "现状压缩后再上传" is not legal for a JDOM attribute: 0xb is not a legal XML character. at org.jdom.Attribute.setValue(Attribute.java:486) at org.jdom.Attribute.(Attribute.java:229) at org.jdom.Attribute.(Attribute.java:252) at org.jdom.Element.setAttribute(Element.java:1109) at weaver.common.util.taglib.SplitPageXmlServlet.getXml(SplitPageXmlServlet.java:331) at weaver.common.util.taglib.SplitPageXmlServlet.doPost(SplitPageXmlServlet.java:197) at javax.servlet.http.HttpServlet.service(HttpServlet.java:153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:91) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:175) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:240) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:481) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:685) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:607) at java.lang.Thread.run(Thread.java:595)
解决办法:
将非法字符替换掉
//如果捕获到异常则替换其中的oxb
catch(org.jdom.IllegalDataException e) {
//e.printStackTrace();
char [] xmlChar = paragraph.toCharArray();
for (int i=0; i < xmlChar.length; ++i) {
if (xmlChar[i] > 0xFFFD)
{
//直接替换掉0xb
xmlChar[i] =' ';
}
else if (xmlChar[i] < 0x20 && xmlChar[i] != 't' & xmlChar[i] != 'n' & xmlChar[i] != 'r')
{
//直接替换掉0xb
xmlChar[i] =' ' ;
}
}
}
分享到:
相关推荐
**JDOM 2.0.1 知识详解** JDOM 是一个专为 Java 平台设计的 XML 处理库,它提供了高效且便捷的方式来处理 XML 文档。JDOM 在 XML 开发领域中占据了一席之地,尤其在需要与 Java 代码紧密集成时,其优势更为明显。...
在本例中,问题聚焦于 "org.jdom.input.SAXBuilder" 类,这涉及到Java的JDOM库。JDOM是一个用于处理XML文档的Java API,它提供了创建、修改和读取XML文档的功能。SAXBuilder是JDOM中的一个关键类,用于将XML数据解析...
Java中的JDOM(Java Document Object Model)是一个用于处理XML文档的库,它提供了一种方便的方式来创建、修改和操作XML数据。JDOM是完全用Java编写的,因此它与Java平台紧密集成,提供了高效且灵活的API来处理XML...
1. 编写 xml 文件要用到的包。 2. 用处:eclipse 3. 方法:右键项目,构建路径,添加外置归文档。 4. 或则:搜eclipse如何导入jdom.jar
信息: Probably not an issue: org.jdom.Document is not available so the jdom converter will not load. This is only an problem if you wanted to use it. 2009-8-16 10:18:40 org.directwebremoting.util....
4. `org.jdom.input`: 包含读取XML文档的类,如`SAXBuilder`用于构建XML文档。 5. `org.jdom.output`: 包含写入XML文档的类,如`XMLOutputter`用于输出XML。 6. `org.jdom.transform`: 支持将JDOM对象转换为其他XML...
<groupId>org.jdom <artifactId>jdom <version>1.0 </dependency>
import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; jdom2.05使用方法: import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder;
org.jdom2-2.0.6.LIFERAY-PATCHED-1.jar
Maven坐标:org.jdom:jdom2:2.0.6; 标签:jdom2、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和...
2. `org.jdom.adapters`:提供了与DOM适配的类,使得JDOM可以与基于DOM的API进行交互。 3. `org.jdom.filter`:包含用于过滤XML文档内容的类,允许按条件选择和处理部分文档。 4. `org.jdom.input`:包含读取XML...
**JDOM概述** JDOM(Java Document Object Model)是一个用于处理XML文档的Java库,它提供了在内存中构建和操作XML文档的API。JDOM的主要目标是为Java开发者提供一个高性能、灵活且易于使用的XML处理工具,使得XML...
5. `org.jdom.output`:包含了写入XML文档的类,如XMLOutputter和SAXOutputter。 6. `org.jdom.transform`:支持XSLT转换,包括JDOMSource和JDOMResult类。 7. `org.jdom.xpath`:提供了XPath操作XML文档的类。 ...
在Java开发中,XML处理是常见的任务之一,而JDOM是一个流行的Java库,用于解析、构建和修改XML文档。XPath是一种强大的查询语言,用于在XML文档中定位元素、属性和其他节点。本文将深入探讨JDOM库中XPath的相关方法...
org.jdom.transform 包含了将jdom xml文档接口转换为其他xml文档接口 org.jdom.xpath 包含了对xml文档xpath操作的类三、JDOM 类说明 1、org.JDOM这个包里的类是你J解析xml文件后所要用到的所有数据类型。 ...
- `org.jdom.filter`:包含基于XML文档节点类型的过滤器类,用于数据筛选和处理。 - `org.jdom.input`:提供从不同源构建JDOM对象的类,如SAX2解析器。 - `org.jdom.output`:包含将JDOM对象输出为不同格式文档的类...
在遇到`java.lang.NoClassDefFoundError: org/jdom/JDOMException`这类错误时,首先要确认项目中的类路径是否配置正确,包括项目本身的类路径以及服务器(如Tomcat)的类路径。其次要确保所使用的JDOM版本与其他依赖...
用JAVA来处理XML
jar包,官方版本,自测可用