HelloWorld 善戰者,求之于勢,不責于人;故能擇人而任勢。

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

            BlogJava :: 首頁 ::  :: 聯系 ::  :: 管理 ::
            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 閱讀(270) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 女性| 常宁市| 永胜县| 山东| 和林格尔县| 通辽市| 临海市| 红原县| 水城县| 东方市| 桓台县| 上虞市| 芮城县| 东乡族自治县| 青龙| 大埔县| 汤原县| 子长县| 繁峙县| 赤水市| 元氏县| 澄城县| 定州市| 双鸭山市| 襄樊市| 中超| 来凤县| 治县。| 信阳市| 千阳县| 达州市| 武安市| 临西县| 乾安县| 望都县| 三江| 象州县| 宁国市| 洞头县| 广平县| 延长县|