CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  XML/SOAP

急!在JAVA中写XML文件时遇到的怪问题

楼主binzhi()2003-09-04 17:47:23 在 Web 开发 / XML/SOAP 提问

请教大家一个问题,root   是我的一个DOM的根节点,我可以对它进行任何操作,但是我在进行root.toString()时却出错  
  输出[Senxin:   null](Senxin是我的XML文件根元素的名称),这个程序正常运行了大半个月,前几天突然出现这样  
  的问题,这样我对XML文件所有进行的写操作都不能进行(以前可以的),大家有没有碰到过,帮我想想看. 问题点数:0、回复次数:9Top

1 楼Kyle_Chen()回复于 2003-09-04 20:37:42 得分 0

是否可能是encoding的问题,比如中文?Top

2 楼towzy(晚枫)回复于 2003-09-04 20:47:00 得分 0

XML的解析器有很多版本,不知道你用的是哪个?  
  有  
  org.jdom.*  
  org.w3c.dom.*  
  javax.xml.parsers.*Top

3 楼moonpiazza(月光易水)回复于 2003-09-05 09:59:45 得分 0

xml数据问题?  
  得到根节点为空,检查xml文件是否有效  
   
  :_)Top

4 楼binzhi()回复于 2003-09-05 14:55:51 得分 0

XML文件肯定有效的  
  我用的是org.w3c.dom.*  
  那么大家是用什么方法将修改后的XML文件保存到硬盘的  
  谢谢Top

5 楼towzy(晚枫)回复于 2003-09-05 19:03:49 得分 0

不能直接用root.toString()方法的,这个方法不是想象的那样,得到XML文件,它好想是将文件里的元素、属性按照一定的规则列出来;Top

6 楼towzy(晚枫)回复于 2003-09-05 19:24:12 得分 0

有个方法你可以试试:[要用到jdom.jar]  
   
  public   String   getXmlAsString()   throws   java.io.UnsupportedEncodingException  
  {  
  org.jdom.input.DOMBuilder   domBuild   =   new   org.jdom.input.DOMBuilder();  
  org.jdom.Document   root   =   domBuild.build(org.w3c.dom.Document   domDocument[这里传入你现有的文档根]);  
   
  org.jdom.output.XMLOutputter   OutPuter   =   new   org.jdom.output.XMLOutputter("   ",   true,   "gb2312");  
   
  byte[]   b;  
  try  
  {  
  b   =   ((String)OutPuter.outputString(root)).getBytes("gb2312");  
  }  
  catch(Exception   e)  
  {  
  e.printStackTrace();  
  return   null;  
  }  
  return   (   new   String(b,"ISO8859-1")   );  
  }  
  我加入了编码转换,否则好像不能解析中文。Top

7 楼binzhi()回复于 2003-09-06 09:15:58 得分 0

请问towzy(晚枫)  
  org.jdom.Document   root   =   domBuild.build(org.w3c.dom.Document   domDocument[这里传入你现有的文档根]);  
  这句话应该怎么用啊!是这样吗  
  org.jdom.Document   root   =   domBuild.build(root)  
  可domBuild.build要求的参数是org.jdom.Element或org.jdom.Document   可我只有org.w3c.dom.Element和org.w3c.dom.Document   我该怎么办  
  谢谢!  
   
   
  Top

8 楼towzy(晚枫)回复于 2003-09-15 20:30:45 得分 0

上面的那句话就是用来转换的,你没看到参数吗?  
  进去是org.w3c.dom.Document类型的  
  经过domBuild.build后,出来是org.jdom.Document   类型啊!  
  你下面的调用是对的,但是你不能再定义相同的root节点了:  
  org.jdom.Document   root   =   domBuild.build(root);  
  可以这样  
  org.jdom.Document   root2   =   domBuild.build(root);  
  Top

9 楼towzy(晚枫)回复于 2003-09-15 20:32:29 得分 0

再提示:jdom的domBuild.build中提供了很多构造函数,并不局限在“要求的参数是org.jdom.Element或org.jdom.Document”Top

相关问题

  • java对xml文件的读写操作!!!!
  • java如何读取xml文件,谢谢
  • java如何读取xml文件
  • 在处理xml文件时遇到了锁定问题
  • 一个关于操作XML文件时遇到奇怪问题
  • 急问:java程序写文件时遇到的问题???
  • Java将Excel文件另存为xml文件或者web文档
  • 如何通过java将access文件转换成xml文件?
  • 在写入XML文件时遇到这个问题,怎么解决。。帮帮忙。。
  • 有没有遇到过文件后缀名为"._java"的情况呀?

关键词

  • w3c
  • 文件
  • 节点
  • root
  • document
  • xml
  • dombuild
  • jdom
  • org
  • dom

得分解答快速导航

  • 帖主:binzhi

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo