yooli88

          從 csdn看到的一些很有用的代碼 灰常感謝afgasdg了 轉帖請注明afgasdg

          java訪問xml文件
          Java code

          import java.io.*;
          import javax.xml.parsers.DocumentBuilder;
          import javax.xml.parsers.DocumentBuilderFactory;
          import org.w3c.dom.Document;
          import org.w3c.dom.Element;
          import org.w3c.dom.Node;
          import org.w3c.dom.NodeList;

          public class xmljava
          {

          public static void main(String args[])
              {   
                    Element element
          =null;
                    File f
          =new File("a.xml");
                    DocumentBuilder db
          =null;        //documentBuilder為抽象不能直接實例化(將XML文件轉換為DOM文件)
                    DocumentBuilderFactory dbf=null;
               
          try{
                  
                    dbf
          = DocumentBuilderFactory.newInstance(); //返回documentBuilderFactory對象  
                    db =dbf.newDocumentBuilder();//返回db對象用documentBuilderFatory對象獲得返回documentBuildr對象

                    Document dt
          = db.parse(f); //得到一個DOM并返回給document對象
                    element = dt.getDocumentElement();//得到一個elment根元素
                   
                    System.out.println(
          "根元素:"+element.getNodeName()); //獲得根節(jié)點

                  NodeList childNodes
          =element.getChildNodes() ;    // 獲得根元素下的子節(jié)點
             
               
          for (int i = 0; i < childNodes.getLength(); i++)     // 遍歷這些子節(jié)點

             {      
                 Node node1
          = childNodes.item(i); // childNodes.item(i); 獲得每個對應位置i的結點

              
          if ("Account".equals(node1.getNodeName()))
                {
                                 
          // 如果節(jié)點的名稱為"Account",則輸出Account元素屬性type
                System.out.println("\r\n找到一篇賬號. 所屬區(qū)域: "   + node1.getAttributes().getNamedItem        ("type").getNodeValue() + ". ");
                NodeList nodeDetail
          = node1.getChildNodes();   // 獲得<Accounts>下的節(jié)點
                for (int j = 0; j < nodeDetail.getLength(); j++)
                 {  
          // 遍歷<Accounts>下的節(jié)點
                    Node detail = nodeDetail.item(j);    // 獲得<Accounts>元素每一個節(jié)點
                      if ("code".equals(detail.getNodeName()))   // 輸出code
                      System.out.println("卡號: " + detail.getTextContent());
                      
          else if ("pass".equals(detail.getNodeName())) // 輸出pass
                          System.out.println("密碼: " + detail.getTextContent());
                      
          else if ("name".equals(detail.getNodeName())) // 輸出name
                          System.out.println("姓名: " + detail.getTextContent());
                      
          else if ("money".equals(detail.getNodeName())) // 輸出money
                           System.out.println("余額: "+ detail.getTextContent());
               
                  }
                }

              }
          }

          catch(Exception e){System.out.println(e);}
             
          }
          }


          XML code
          <?xml version="1.0" encoding="gbk"?> <Accounts> <Account type="by0003"> <code>100001</code> <pass>123</pass> <name>李四</name> <money>1000000.00</money> </Account> <Account type="hz0001"> <code>100002</code> <pass>123</pass> <name>張三</name> <money>1000.00</money> </Account> </Accounts>

          posted on 2011-04-06 18:49 迷茫在java的世界里 閱讀(192) 評論(0)  編輯  收藏 所屬分類: 學習資料

          主站蜘蛛池模板: 监利县| 霍山县| 洪洞县| 威远县| 郑州市| 曲水县| 龙江县| 桂东县| 三明市| 嵊州市| 渝北区| 措勤县| 岳池县| 岑溪市| 宜都市| 南雄市| 宁都县| 古田县| 嵊泗县| 汾西县| 朝阳区| 昂仁县| 鲁山县| 宿松县| 太白县| 盱眙县| 玛曲县| 台前县| 巴林左旗| 兴安县| 沙河市| 崇义县| 九龙坡区| 汉沽区| 鄂托克前旗| 华阴市| 尖扎县| 车致| 临漳县| 介休市| 分宜县|