关于dom4j的utf-8编码的问题
我组了一个XML字符串,解析过程如下,但是报错:
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
public class TestDom4j {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String sXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><ROOT><TABLE>哈哈哈哈</TABLE></ROOT>";
SAXReader saxReader = new SAXReader();
InputStream inputStream = new ByteArrayInputStream(sXml.getBytes());
try {
Document document = saxReader.read(inputStream);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
报错内容是:
org.dom4j.DocumentException: Error on line 1 of document : Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.io.SAXReader.read(SAXReader.java:343)
at TestDom4j.main(TestDom4j.java:25)
但是如果把XML字符串中的编码改成gb2312就没问题了,但是我的程序是多语言版本的,我需要怎么做啊?
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
public class TestDom4j {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String sXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><ROOT><TABLE>哈哈哈哈</TABLE></ROOT>";
SAXReader saxReader = new SAXReader();
InputStream inputStream = new ByteArrayInputStream(sXml.getBytes());
try {
Document document = saxReader.read(inputStream);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
报错内容是:
org.dom4j.DocumentException: Error on line 1 of document : Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.io.SAXReader.read(SAXReader.java:343)
at TestDom4j.main(TestDom4j.java:25)
但是如果把XML字符串中的编码改成gb2312就没问题了,但是我的程序是多语言版本的,我需要怎么做啊?
...全文
相关推荐
dom4j 写UTF-8的xml乱码问题 使用FileOutputStream
标题中的“dom4j 写UTF-8的xml乱码问题 使用FileOutputStream”涉及的是在使用Java编程语言处理XML文件时遇到的编码问题。
dom4j 输出XML时中文乱码解决
这是因为 Dom4J 的默认编码方式可能不支持中文字符。解决这个问题的方法是将输出编码方式设置为 UTF-8。
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
然而,在处理这些XML文件时,有时会遇到编码问题,导致解析失败。本文将详细探讨一种常见的错误:“Invalid byte 1 of 1-byte UTF-8 sequence”,并提供相应的解决方案。
dom4j中文彻底解决
(fileName));```这段代码的问题在于FileWriter默认使用系统默认的编码,这可能不匹配实际需要的编码,如UTF-8。
Dom4j解析XML及中文问题
.; // 输出流OutputStreamWriter writer = new OutputStreamWriter(out, "UTF-8"); // 使用UTF-8编码Document doc =


Java SE
