DOM创建节点

ilove581314 2008-11-08 09:05:02
Java文件为:(Windows XP,IE7.0)
/*01*/import org.w3c.dom.*;
/*02*/import org.xml.sax.*;
/*03*/import javax.xml.parsers.*;
/*04*/import java.io.*;
/*05*/import javax.xml.transform.*;
/*06*/import javax.xml.transform.dom.*;
/*07*/import javax.xml.transform.stream.*;
/*08*/public class OutDemo {
/*09*/ public static void main(String args[]) {
/*10*/ try {
/*11*/ String path = "9-5.xml";
/*12*/ DocumentBuilderFactory domFactory =
/*13*/ DocumentBuilderFactory.newInstance();
/*14*/ domFactory.setValidating(false);
/*15*/ domFactory.setNamespaceAware(true);
/*16*/ DocumentBuilder domBuilder = domFactory.newDocumentBuilder();
/*17*/ Document document = domBuilder.parse(new File(path));
/*18*/ //write document into file
/*19*/ TransformerFactory transf=TransformerFactory.newInstance();
/*20*/ Transformer trans=transf.newTransformer();
/*21*/ Source in=new DOMSource(document);
/*22*/ Result out=new StreamResult(new FileOutputStream("result.xml"));
/*23*/ trans.transform(in,out);
/*24*/ }
/*25*/ catch (Exception e)
/*26*/ {
/*27*/ e.printStackTrace();
/*28*/ }
/*29*/ }
/*30*/}

9-5.xml文件为:
<?xml version="1.0" encoding="gb2312"?>
<books>
<!--这是一个数据文件-->
<![CDATA[
<book>
<name>xml应用</name>
<author>list1</author>
<price>55.00</price>
</book>
]]>
<book id="1234">
<name>asp</name>
<
<price>123.3</price>

这是一本好书
</book>

</books>
问题:
生成的result.xml文件没有进行任何操作的前提下,
用浏览器打开会出现错误:
注释未关闭。处理资源 'file:///D:/java/result.xml' 时出错。第 2 行,位置: 5

<!--杩欐槸涓€涓暟鎹枃浠?->
----^
而且,用写字板打开时出现乱码,而用记事本打开时则正常。
用记事本打开随便修改一个地方再还原(如在某一个地方加一个空格再删除之),
关闭时保存这种修改。
则出现错误:
不支持从当前编码到指定编码的切换。处理资源 'file:///D:/java/result.xml' 时出错。第 1 行,位置: 56

<?xml version="1.0" encoding="GB2312" standalone="no"?><books>
------------------------------------------------...
但写字板下没有乱码了(记事本下仍然正常)。
而用写字板进行这种修改时(保存)错误不变,但在写字板和记事本下均有乱码!

用记事本打开进行这种修改,保存,此时在写字板下没有乱码了,再用写字板打开进行这种修改,保存,
则用浏览器可以正常显示。
...全文
131 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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