1 
            2 package com.parsexml ;
            3 /*測試用的test.xml 請另存
            4  <?xml version="1.0" encoding="gb2312"?>
            5 <books>
            6     <name>test</name>
            7     <book>
            8         <name>rjzjh</name>
            9         <price>jjjjjj</price>
           10     </book>
           11     <test>
           12         <name>hcm</name>
           13         <feng>sadf</feng>
           14     </test>
           15 </books>
           16  */
           17 import javax.swing.*;
           18 import java.io.* ;
           19 import java.net.*;
           20 import javax.xml.parsers.* ;
           21 import org.w3c.dom.* ;
           22 import org.xml.sax.SAXException ;
           23 
           24 public class NewParsexml
           25 {
           26     public static String infotext ;
           27     public NewParsexml ()
           28     {
           29     }
           30     public URL geturl(String str)
           31     {
           32         return (getClass().getResource (str));
           33     }
           34     public  static String parse (String text)
           35     {
           36         // 得到DOM解析器的工廠實例
           37         DocumentBuilderFactory domfac = DocumentBuilderFactory.newInstance () ;
           38         try
           39         {
           40             DocumentBuilder dombuilder = domfac.newDocumentBuilder () ;
           41            // InputStream is = new FileInputStream ("src/com/parsexml/test.xml");
           42             InputStream is = NewParsexml.class.getResourceAsStream("test.xml"); 
           43          //   InputStream is = new FileInputStream ("com/parsexml/test.xml");
           44             Document doc = dombuilder.parse (is) ;
           45             Element root = doc.getDocumentElement () ;
           46             NodeList books = root.getChildNodes () ;
           47             if (books != null)
           48             {
           49                 for (int i = 0 ; i < books.getLength () ; i ++ )
           50                 {
           51                     Node book = books.item (i) ;
           52                     if (book.getNodeName ().equals (text))
           53                     {
           54                         infotext = book.getFirstChild ().getNodeValue () ;
           55                         //System.out.println(infotext);
           56                         return infotext;
           57                     }
           58                     if (book.getNodeType () == Node.ELEMENT_NODE)
           59                     {
           60                         for (Node node = book.getFirstChild () ; node != null ; node = node.getNextSibling ())
           61                         {
           62                             if (node.getNodeType () == Node.ELEMENT_NODE)
           63                             {
           64                                 if (node.getNodeName ().equals (text))
           65                                 {
           66                                     infotext = node.getFirstChild ().getNodeValue () ;
           67 //System.out.println (infotext) ;
           68                                     return infotext ;
           69                                 }
           70                             }
           71                         }
           72                     }
           73                 }
           74             }
           75         }
           76         catch (ParserConfigurationException e)
           77         {
           78             e.printStackTrace () ;
           79         }
           80         catch (FileNotFoundException e)
           81         {
           82             e.printStackTrace () ;
           83         }
           84         catch (SAXException e)
           85         {
           86             e.printStackTrace () ;
           87         }
           88         catch (IOException e)
           89         {
           90             e.printStackTrace () ;
           91         }
           92         return infotext ;
           93     }
           94 //    public static void main(String args[])
           95 //    {
           96 //        //為了打包 測試路徑
           97 //        JFrame frame = new JFrame ("test");
           98 //        frame.setLayout (null);
           99 //        frame.setSize (200,300);
          100 //        JLabel label = new JLabel(parse("name"));
          101 //        label.setBounds (0,0,50,100);
          102 //        frame.add (label);
          103 //        frame.setVisible (true);
          104 //        frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
          105 //        System.out.println (parse("name"));
          106 //    }
          107 }
          108 


          posted on 2007-02-06 17:12 -274°C 閱讀(984) 評論(0)  編輯  收藏 所屬分類: JAVAXML

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 916109
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 海南省| 长乐市| 建昌县| 深州市| 桐城市| 新安县| 鲜城| 桐乡市| 定襄县| 北京市| 广德县| 溧水县| 卢氏县| 分宜县| 海伦市| 襄垣县| 沅陵县| 定结县| 黄冈市| 封丘县| 友谊县| 云龙县| 邹城市| 偏关县| 额尔古纳市| 筠连县| 琼海市| 容城县| 楚雄市| 孟州市| 探索| 婺源县| 宾阳县| 集贤县| 奇台县| 彰化县| 准格尔旗| 紫云| 龙川县| 广元市| 枣阳市|