首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Dom4j 应用简介【转】

2012-12-20 
Dom4j 使用简介【转】作者:冰云 icecloud(AT)sina.com时间:2003.12.15?版权声明:本文由冰云完成,首发于CSDN,

Dom4j 使用简介【转】
作者:冰云 icecloud(AT)sina.com时间:2003.12.15?版权声明:本文由冰云完成,首发于CSDN,未经许可,不得使用于任何商业用途。文中代码部分引用自while(iter.hasNext()){????????????? Attribute attribute = (Attribute)iter.next();????????????? if(attribute.getValue().equals("yes")){????????????????? attribute.setValue("no");????????????? }?? ?????????? }?????????? ?????????? /**?????????? ?* 修改内容之二: 把owner项内容改为Tshinghua?????????? ?* 并在owner节点中加入date节点,date节点的内容为2004-09-11,还为date节点添加一个属性type?????????? ?*/?????????? list = document.selectNodes("/books/owner" );?????????? iter = list.iterator();?????????? if(iter.hasNext()){????????????? Element ownerElement = (Element)iter.next();????????????? ownerElement.setText("Tshinghua");????????????? Element dateElement = ownerElement.addElement("date");????????????? dateElement.setText("2004-09-11");????????????? dateElement.addAttribute("type","Gregorian calendar");?????????? }?????????? ?????????? /** 修改内容之三: 若title内容为5 格式化输出和指定编码?默认的输出方式为紧凑方式,默认编码为UTF-8,但对于我们的应用而言,一般都要用到中文,并且希望显示时按自动缩进的方式的显示,这就需用到OutputFormat类。?

???? ??? /**??? ?* 格式化XML文档,并解决中文问题??? ?* @param filename??? ?* @return??? ?*/??? public int formatXMLFile(String filename){?????? int returnValue = 0;?????? try{?????????? SAXReader saxReader = new SAXReader(); ?????????? Document document = saxReader.read(new File(filename));?????????? XMLWriter writer = null;?????????? /** 格式化输出,类型IE浏览一样 */?????????? OutputFormat format = OutputFormat.createPrettyPrint();?????????? /** 指定XML编码 */?????????? format.setEncoding("GBK");?????????? writer= new XMLWriter(new FileWriter(new File(filename)),format);?????????? writer.write(document);?????????? writer.close();????? ?????????? /** 执行成功,需返回1 */?????????? returnValue = 1;???? ?????? }catch(Exception ex){?????????? ex.printStackTrace();?????? }?????? return returnValue;??? }?说明:?OutputFormat format = OutputFormat.createPrettyPrint();这句指定了格式化的方式为缩进式,则非紧凑式。?format.setEncoding("GBK");指定编码为GBK。?XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)),format);这与前面两个方法相比,多加了一个OutputFormat对象,用于指定显示和编码方式。?6 完整的类代码?前面提出的方法都是零散的,下面给出完整类代码。?

    XMLWriter?writer; ?? ????????try?{ ?? ????????????OutputFormat?format?=?OutputFormat.createPrettyPrint(); ?? ????????????//format.setEncoding("UTF-8"); ?? ????????????FileOutputStream?fos?=?new?FileOutputStream(xmlFile); ?? ????????????//writer?=?new?XMLWriter(new?FileWriter(xmlFile),?format); ?? ????????????writer?=?new?XMLWriter(fos,?format); ?? ????????????writer.write(document); ?? ????????????writer.close(); ?? ????????}?catch?(IOException?e)?{ ?? ????????????//?TODO?自动生成?catch?块 ?? ????????????logger.error("修改xml文件失败!"); ?? ????????????e.printStackTrace(); ?? ????????}???

?

?

?

?

?

热点排行