求助!!org.w3c.dom.Document 对象,怎么控制其Encoding ??急!

lovelx 2004-12-10 04:11:06
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();

StringWriter out = new StringWriter();

( ( XmlDocument )doc ).write( out );
str = out.toString();

想得到一个xml 字符串, 怎么设置encoding ??

明白的请指点。
...全文
377 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
drugon 2004-12-13
  • 打赏
  • 举报
回复
用字符串的连接试试。
tom2005 2004-12-10
  • 打赏
  • 举报
回复
原来的xml为

Books.xml
<?xml version="1.0" encoding="GBK"?>

<Information>


<Topic>的</Topic>


<Content>练习</Content>


<Date>2002-02-3</Date>


<Source>3333</Source>


</Information>

a.java

import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.apache.crimson.tree.*;
import java.io.*;

public class a
{
public static void main(String args[])
{
try
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse("Books.xml");
NodeList nl =doc.getElementsByTagName("Information");
Element node=(Element) nl.item(0);

node.getElementsByTagName("Topic").item(0).getFirstChild().setNodeValue("aaa");
node.getElementsByTagName("Content").item(0).getFirstChild().setNodeValue("bbb");
node.getElementsByTagName("Date").item(0).getFirstChild().setNodeValue("ccc");
node.getElementsByTagName("Source").item(0).getFirstChild().setNodeValue("ddd");

StringWriter str = new StringWriter();
((XmlDocument)doc).write(str,"gb2312");
System.out.println(str.toString());
}
catch(Exception e)
{
System.out.println(e.getMessage());

}

}
}
输出
<?xml version="1.0" encoding="gb2312"?>

<Information>



<Topic>aaa</Topic>



<Content>bbb</Content>



<Date>ccc</Date>



<Source>ddd</Source>



</Information>

你做的不是这样吗

lovelx 2004-12-10
  • 打赏
  • 举报
回复
一楼的方法我也想过了。但是这个是设置字符串的charset 。我想要得是xml 中有<?xml version="1.0" encoding="utf-16"?> 中的encoding 部分。 该怎么设置?
tom2005 2004-12-10
  • 打赏
  • 举报
回复
XmlDocument )doc ).write()方法

public void write (OutputStream out) throws IOException
public void write (Writer out) throws IOException
public void write (Writer out, String encoding) throws IOException


可以( ( XmlDocument )doc ).write( out,"gb2312" );

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧