無限地吸取知識(shí)

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

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            3 Posts :: 0 Stories :: 2 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(4)

          我參與的團(tuán)隊(duì)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          使用DOM解析XML文件是Java程序員必備的知識(shí),適用于小型的文件解析。
          DOM最大的特點(diǎn)是整個(gè)文件必須在內(nèi)存中解析和存儲(chǔ),對(duì)于那些需要對(duì)文檔不同部分進(jìn)行重復(fù)、隨機(jī)訪問的應(yīng)用程序。

          <?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(); // 獲得根節(jié)點(diǎn)

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

                      
          /* 輸出節(jié)點(diǎn)值 */
                      
          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 閱讀(661) 評(píng)論(0)  編輯  收藏 所屬分類: Java基礎(chǔ)類

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 曲周县| 桐庐县| 乌兰县| 云梦县| 牙克石市| 镇雄县| 苍梧县| 平定县| 特克斯县| 梅州市| 株洲市| 苏尼特右旗| 晋城| 化德县| 汉寿县| 云龙县| 张北县| 平顶山市| 民和| 三门县| 阜宁县| 隆安县| 永州市| 长葛市| 栖霞市| 廉江市| 沿河| 通渭县| 思茅市| 潮州市| 中江县| 南通市| 定襄县| 高台县| 汉中市| 色达县| 岑溪市| 博湖县| 崇左市| 绥阳县| 康平县|