隨筆-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)來代替執行.
            回復  更多評論
            
          主站蜘蛛池模板: 阿城市| 梁河县| 广安市| 昌乐县| 海宁市| 松桃| 余姚市| 田阳县| 渝中区| 古交市| 枣强县| 靖宇县| 黄浦区| 海兴县| 丰台区| 西和县| 施甸县| 资中县| 辉县市| 大安市| 夏河县| 扶沟县| 吴江市| 陇南市| 通许县| 湾仔区| 沐川县| 元江| 保康县| 庆阳市| 漯河市| 安塞县| 淳安县| 枝江市| 广东省| 鹤庆县| 河源市| 叙永县| 锦屏县| 岐山县| 吴忠市|