以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  jdom解析xml文档问题,谢谢各位大哥!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=56009)


--  作者:pkucthh
--  发布时间:11/26/2007 10:20:00 AM

--  jdom解析xml文档问题,谢谢各位大哥!
我现在想把一个xml文档中所有的繁体字转化为简体字,使用jdom解析这个xml文档,程序片段如下:
package wordTrans;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Queue;
import java.util.LinkedList;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

import wordTrans.Changeword;


public class ConvertWord
{
 public static void main(String args[]) throws IOException, JDOMException
 {
     SAXBuilder saxreader = new SAXBuilder();
     Document document = saxreader.build("19.xml");
     Element ele_root = document.getRootElement();
     Queue<Element> queue = new LinkedList<Element>();
     queue.add(ele_root);
     Element ele = null;
     String oldword = new String("");
     String newword = new String("");
     while((ele = (Element)(queue.poll()))!=null)
     {
         List list = ele.getChildren();
         Iterator iter = list.iterator();
         while(iter.hasNext())
         {
       Element ele_temp = (Element)iter.next();
       queue.offer(ele_temp);
         }
         oldword = ele.getText();
         newword = Changeword.changeword(oldword);//这是我写的另一个函数,用于简繁体转换
      ele.setText(newword); 
     }
       
     Format format = Format.getCompactFormat();
  format.setEncoding("utf-8");
  XMLOutputter XMLOut = new XMLOutputter(format);
     XMLOut.output(document, new FileOutputStream("19.xml"));
 }
}


上述程序在往xml中回写的时候只能在文件中输出根节点,这是为什么呢?好像是经过队列存储之后xml树的信息就没了,真是很奇怪,望各位大哥帮忙解决一下,谢谢!


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms