今天项目中遇到两个异常
其一、
org.dom4j.DocumentException: no protocol: <?xml version="1.0" encoding="UTF-8"?>
产生这个异常的语句是
document=reader.read(new String(xml.getBytes("UTF-8")));
其二、
org.dom4j.DocumentException: Error on line 2 of document : Invalid byte 2 of 2-byte UTF-8 sequence.
document= reader.read(new StringInputStream(xml));
错误原因在百度之后就已经知道--传说中的中文字符问题(一直是折腾人的问题,本人不是计算机出身,算是个半吊子的计算机程序员,对编码这个东西,还真搞不懂计算机是怎么工作的,望哪位大侠出来指点迷津^_^)!我的xml字符串头部信息为<?xml version="1.0" encoding="UTF-8"?>,而在处理的时候估计变成了GBK了(或者其他的编码..),但是始终不知道怎么解决。最后我那就想了个最笨的方法,那个就是试,那个给我试的啊!真那个叫心酸...
尝试过将字符串转码--new String(xml.getBytes("utf-8"),"utf-8")...
尝试过将字符串放入各种流(因为我发现直接用request.getInputStream()读取同样的XML字符串不会出错)然后试,结果我就发现了一种写法不会出错,那就是下面的语句:
document= reader.read(new StringInputStream(xml));
也不知道是啥原因...研究中!
参考文章:点击..进入
分享到:
相关推荐
然而,在使用 Dom4J 输出 XML 文档时,中文字符可能会出现乱码问题。这是因为 Dom4J 的默认编码方式可能不支持中文字符。解决这个问题的方法是将输出编码方式设置为 UTF-8。 设置输出编码方式 ------------------ ...
在使用Dom4j解析XML文件时,可以通过`SAXReader`设置编码。以下是一个示例: ```java import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; public class Dom4...
在本示例中,我们将深入探讨如何使用DOM4J解析XML文件,以`CacheInit.java`作为我们的核心代码示例,并参考`emailTemplateConfig.xml`作为实际操作的对象。 首先,让我们了解XML(eXtensible Markup Language)。...
在UpdateXml.java中,我们首先要加载XML文件到DOM4J的Document对象中。这可以通过`DocumentFactory.createDocument()`方法实现,然后使用`SAXReader.read(File file)`来读取XML文件。读取完成后,可以遍历Document...
4. **写入文件**:使用`XMLWriter.write()`方法将Document对象写入XML文件,可以设置编码格式、缩进等。 在实际项目中,DOM4J通常与Maven或Gradle等构建工具一起使用,将依赖的jar包加入到项目的类路径中。在提供的...
### DOM4J创建XML文件知识点解析 ...以上就是使用DOM4J创建XML文件的完整过程,包括环境搭建、文档创建、格式设置及异常处理等多个方面。通过本教程的学习,可以掌握使用DOM4J进行XML文件操作的基本技能。
### DOM4j解析XML文件格式详解 #### 一、DOM4j概述与环境搭建 DOM4j(Document Object Model for XML)是一款Java平台上的开源XML处理库,它提供了灵活、高效且易于使用的API来处理XML数据。DOM4j支持DOM、SAX、...
【标题】"DOM4J格式化XML"是一个关于XML处理的专题,主要聚焦于使用DOM4J库对XML文档进行格式化的技术。DOM4J是一个非常流行的Java XML API,它提供了丰富的功能,包括读取、写入、修改以及操作XML文档。在XML处理中...
在这个场景中,我们关注的是如何使用DOM4J以String的形式读取XML内容,然后将String的值赋给XML中的特定节点,最后将更新后的内容写回XML文件。下面我们将详细探讨这一过程。 1. **解析XML到String** 要将XML文件...
在Java世界中,DOM4J是与DOM、SAX和JDOM等其他XML处理库并驾齐驱的一个选择,尤其在处理大型XML文件时,其性能和内存效率往往更胜一筹。 DOM4J的主要特点包括: 1. **丰富的API**:DOM4J提供了大量的接口和类,...
标题中的“dom4j 写UTF-8的xml乱码问题 使用FileOutputStream”涉及的是在使用Java编程语言处理XML文件时遇到的编码问题。DOM4J是一个强大的Java库,用于处理XML、XPath和XSLT,它提供了丰富的API来读取、写入、修改...
- **DOM4J** 是一款用于处理XML文档的Java库,它提供了简单且强大的API来解析、创建、修改XML文档。 - 官方网站:[http://www.dom4j.org/](http://www.dom4j.org/) - 下载地址:...
对于大型文档,DOM4J的基于事件的处理模型(SAX-like)可以有效避免一次性加载整个文档到内存中的问题,从而极大地减少了内存消耗,提高了处理速度。这种流式处理方式尤其适合处理超大数据集或实时数据流。 **4. ...
在本文中,我们将深入探讨如何使用DOM4J进行XML的解析,包括创建XML文档,添加、修改和删除XML节点,以及XML的格式化输出和中文字符的处理。 1. **创建XML文档** 创建XML文档通常从`Document`对象开始。首先,我们...
### Dom4j解析XML及其中文问题解决 #### 一、Dom4j简介 Dom4j是一种用于处理XML的Java库,它提供了一...通过以上方法,可以有效地解决在使用Dom4j处理XML文档时遇到的中文问题,确保中文字符能够被正确地读取和写入。
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得更为简单。在本文中,我们将深入探讨DOM4J库在XML解析中的核心概念、主要功能以及如何使用它来处理...
常见的 XML 解析器有 DOM、SAX、JDOM 和 DOM4J 等。每种解析器都有其特点和优缺,选择合适的解析器对应用程序的性能和开发效率有很大影响。 1. DOM 解析器 DOM(Document Object Model)是 W3C 官方标准,用于表示...
Dom4j是一个强大的Java库,专门用于处理XML文档。它提供了简单且灵活的方式来读取、写入、修改以及遍历XML文档。以下是对Dom4j读写XML的详细讲解: 一、Document对象相关 1. **读取XML文件**:通过`SAXReader`实例...
本文主要讨论了如何在DOM4J中正确处理编码问题,以确保XML文件的正确生成。 首先,我们需要了解DOM4J中的XMLWriter类。XMLWriter是DOM4J用来将XML文档写入输出流的类。在创建XMLWriter时,直接传递一个Writer对象...
5. **程序实现**:在Java中,通过DOM4J解析XML文件得到Document对象,然后遍历XML结构,根据`MenuItem`和`Menu`的关系生成对应的SWT菜单结构。这个过程涉及到对SWT菜单对象的实例化、属性设置和事件绑定。通过观察和...