無限地吸取知識

          快樂就是一生中最大的享受!

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            3 Posts :: 0 Stories :: 2 Comments :: 0 Trackbacks
          使用DOM解析XML文件是Java程序員必備的知識,適用于小型的文件解析。
          DOM最大的特點是整個文件必須在內存中解析和存儲,對于那些需要對文檔不同部分進行重復、隨機訪問的應用程序。

          <?xml version="1.0" encoding="UTF-8"?>
          <persons>
              
          <person no="1">
                  
          <name>張三</name>
                  
          <age>21</age>
                  
          <sex></sex>
              
          </person>
              
          <person no="2">
                  
          <name>小紅</name>
                  
          <age>18</age>
                  
          <sex></sex>
              
          </person>
              
          <person no="3">
                  
          <name>陳剛</name>
                  
          <age>25</age>
                  
          <sex></sex>
              
          </person>
          </persons>



          import javax.xml.parsers.DocumentBuilder;
          import javax.xml.parsers.DocumentBuilderFactory;

          import org.w3c.dom.Document;
          import org.w3c.dom.Node;
          import org.w3c.dom.NodeList;

          public class DomParse
          {
              
          public static void main(String[] args)
              {
                  
          try
                  {
                      
          new DomParse();
                  }
                  
          catch (Exception e)
                  {
                      e.printStackTrace();
                  }
              }

              
          public DomParse() throws Exception
              {
                  DocumentBuilderFactory dbf 
          = DocumentBuilderFactory.newInstance();
                  DocumentBuilder db 
          = dbf.newDocumentBuilder();
                  String path 
          = "bin/person.xml";
                  Document doc 
          = db.parse(path);
                  xmlParse(doc);
              }

              
          /* XML解析方法 */
              
          public void xmlParse(Document doc)
              {
                  Node root 
          = doc.getDocumentElement(); // 獲得根節點

                  NodeList childs 
          = root.getChildNodes();
                  
          for (int i = 0; i < childs.getLength(); i++)
                  {
                      
          /* 輸出節點屬性 */
                      Node childNode 
          = childs.item(i);
                      
          if (childNode.getNodeType() == Node.ELEMENT_NODE)// 判斷是否為元素節點
                          System.out.println(childNode.getNodeName()
                                  
          + childNode.getAttributes().item(0).getNodeValue());

                      
          /* 輸出節點值 */
                      
          for (int j = 0; j < childNode.getChildNodes().getLength(); j++)
                      {
                          Node child 
          = childNode.getChildNodes().item(j);
                          
          if (child.getNodeType() == Node.ELEMENT_NODE)
                              System.out.println(child.getNodeName() 
          + "="
                                      
          + child.getFirstChild().getNodeValue());
                      }
                  }
              }
          }
          posted on 2007-09-16 18:07 Sylar 閱讀(665) 評論(0)  編輯  收藏 所屬分類: Java基礎類

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 巴塘县| 江达县| 天门市| 萍乡市| 桂阳县| 韶山市| 吉林市| 铁力市| 揭东县| 武清区| 黔西| 余江县| 汉阴县| 江西省| 康马县| 延寿县| 罗山县| 手游| 绥芬河市| 黄平县| 子洲县| 隆德县| 大荔县| 金沙县| 马龙县| 涟源市| 灵璧县| 河西区| 绥江县| 钟祥市| 高青县| 宣武区| 汉川市| 昌江| 宣恩县| 潞城市| 广平县| 安宁市| 巴林左旗| 合川市| 丹凤县|