-- 作者: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树的信息就没了,真是很奇怪,望各位大哥帮忙解决一下,谢谢!
|