隨筆-153  評論-235  文章-19  trackbacks-0
               由于要保存一些項目中只有一個而且很少改的,用數據庫存儲太浪費了,用xml保存吧。

           1.現在來看下讀xml,xml文件如下:
          <?xml version="1.0" encoding="UTF-8"?>

          <company> 
            
          <tel>020-12345678-66</tel>  
            
          <tel>020-12345678-85</tel>  
            
          <introduce> 
            
          <![CDATA[
          <br/><h1>公司簡介</h1>
            
          ]]>
            
          </introduce>  
          </company>

          2.用dom4j 讀,
          package cn.rentbus;

          import java.io.File;
          import java.io.FileOutputStream;
          import java.io.IOException;
          //import java.io.FileWriter;
          import java.util.Iterator;
          import java.util.List;
          import java.util.Random;

          import junit.framework.TestCase;

          import org.apache.commons.logging.Log;
          import org.apache.commons.logging.LogFactory;
          import org.dom4j.Document;
          import org.dom4j.Element;
          import org.dom4j.Node;
          import org.dom4j.io.OutputFormat;
          import org.dom4j.io.SAXReader;
          import org.dom4j.io.XMLWriter;

          public class Dom4jXmlTest extends TestCase {

              
          protected final Log logger = LogFactory.getLog(getClass());
              
              
          private SAXReader reader;
              
          private Document document;
              
          private File xmlFile;
              
              
          protected void setUp() throws Exception {
                  xmlFile 
          = new File("WEB-INF/company.xml");
                  reader 
          = new SAXReader();
                  document 
          = reader.read(xmlFile);

              }

              
          protected void tearDown() throws Exception {
                  
          super.tearDown();
              }

              
          public void testReadXml() {
                  Element root 
          = document.getRootElement();
                  
                  
          for ( Iterator i = root.elementIterator( "tel" ); i.hasNext(); ) {
                      Element tel 
          = (Element) i.next();
                      logger.info(
          "tel: "+tel.getTextTrim());
                      
          // do something
                  }
                  
                  logger.info(
          "==== XPath use on tel ====");
                  
                  List list 
          = document.selectNodes("/company/tel" );
                  
          for(Element tel : (List<Element>) list) {
                      logger.info(
          "tel: "+tel.getTextTrim());
                  }
                  
                  
          for ( Iterator i = root.elementIterator( "introduce" ); i.hasNext(); ) {
                      Element introduce 
          = (Element) i.next();
                      logger.info(
          "introduce: "+introduce.getTextTrim());
                      
          // do something
                  }
                  
                  logger.info(
          "==== XPath use on introduce ====");
                  
                  Node node 
          = document.selectSingleNode("/company/introduce");
                  
                  String introduce 
          = node.getText();
                  logger.info(
          "introduce: "+introduce.trim());
                  
                  
              }
              
          }


          注意:如果用到XPath,需要jaxen-1.1-beta-6.jar(發本包/lib下有)

          我的環境:
          dom4j-1.6.1.jar
          jaxen-1.1-beta-6.jar
          posted on 2007-09-05 23:58 流浪汗 閱讀(3648) 評論(2)  編輯  收藏 所屬分類: OpenSource

          評論:
          # re: dom4j 讀 xml 文件 2008-09-11 15:20 | sdfsdfsdds
          import junit.framework.TestCase;
          是什么東東;  回復  更多評論
            
          # re: dom4j 讀 xml 文件 2008-09-11 19:33 | 流浪汗
          @sdfsdfsdds
          junit 測試框架, 單元測試

          里面的內容你可以寫個普通的類(有main)來代替執行.
            回復  更多評論
            
          主站蜘蛛池模板: 义马市| 万盛区| 溧水县| 拉萨市| 罗平县| 保德县| 平乐县| 新巴尔虎右旗| 浏阳市| 藁城市| 建昌县| 江川县| 阿勒泰市| 阜南县| 竹溪县| 应用必备| 唐海县| 阳高县| 大丰市| 灯塔市| 临西县| 介休市| 大名县| 靖边县| 那坡县| 巴塘县| 玉林市| 晋江市| 泉州市| 陇南市| 诸城市| 泽库县| 崇义县| 吴忠市| 凤冈县| 博客| 安远县| 上蔡县| 兴安盟| 昭通市| 平罗县|