HelloWorld 善戰(zhàn)者,求之于勢,不責于人;故能擇人而任勢。

          知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。物有本末,事有終始。知所先后,則近道矣。

            BlogJava :: 首頁 ::  :: 聯(lián)系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks

          import java.io.BufferedReader;
          import java.io.File;
          import java.io.FileInputStream;
          import java.io.FileOutputStream;
          import java.io.InputStreamReader;
          import java.util.ArrayList;
          import java.util.Iterator;
          import java.util.List;

          import org.dom4j.Attribute;
          import org.dom4j.Document;
          import org.dom4j.Element;
          import org.dom4j.io.OutputFormat;
          import org.dom4j.io.SAXReader;
          import org.dom4j.io.XMLWriter;

          public class Updatel {
           private void doCycXml(Element element,List delList) {
            if (element == null)
             return;
            Iterator iter = element.elementIterator();
            Element temp = null;
            while (iter.hasNext()) {
             temp = (Element)iter.next();
             Attribute att = temp.attribute("name");
             if (att != null)
              for (int i = 0; i < delList.size(); i++) {
               if (att.getValue().equals((String)delList.get(i))) {
                temp.getParent().remove(temp);
                delList.remove(i);
                break;
               }
              }
             if (!element.elementIterator().hasNext()) {
              element.getParent().remove(element);
             }
             if (delList.size()==0) return;
             doCycXml(temp,delList);
            }
           }
           
           public void updateXml(String sourceXml,String updateFile,String destXml) throws Exception {
            FileInputStream fis = new FileInputStream(updateFile);
            InputStreamReader isr = new InputStreamReader(fis);
            BufferedReader br = new BufferedReader(isr);
            List delList = new ArrayList();
            String str = null;
            while ((str = br.readLine()) != null) {
             delList.add(str);
            }
            //如果沒有要刪除的
            if (delList.size() == 0) return;
            SAXReader reader = new SAXReader();
            //聲明文檔對象
            Document doc = null;
            //讀取XML文檔
            doc = reader.read(new File(sourceXml));
            //聲明跟元素
            Element root = doc.getRootElement();
            doCycXml(root,delList);
            fis.close();
            XMLWriter writer = null;
            OutputFormat format = OutputFormat.createPrettyPrint();
            // 格式編碼為“utf-8”
            format.setEncoding("utf-8");
            writer = new XMLWriter(new FileOutputStream(new File(destXml)), format);
            writer.write(doc);// 寫XML文檔
            writer.close();// 關閉輸出流
           }
           
           public static void main(String args[])  throws Exception {
            Update u  = new Updatel();
            u.updateXml("×××", "×××", "×××");
           }
          }



          </script>

          posted on 2007-09-06 10:14 helloworld2008 閱讀(274) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 三原县| 尤溪县| 饶平县| 沙雅县| 常山县| 太原市| 上林县| 和静县| 丘北县| 靖州| 海林市| 桃园县| 河源市| 双桥区| 阳西县| 平江县| 自治县| 临湘市| 宜章县| 双鸭山市| 玉山县| 霞浦县| 额尔古纳市| 石狮市| 浙江省| 西安市| 湖北省| 大同市| 郓城县| 汉沽区| 奉节县| 会昌县| 阳东县| 绥江县| 高平市| 深泽县| 江山市| 公安县| 应城市| 永康市| 五大连池市|