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 閱讀(985) 評論(0)  編輯  收藏 所屬分類: JAVAXML

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 916216
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 大同市| 吉安县| 景东| 汪清县| 沛县| 涟水县| 平谷区| 开远市| 寿阳县| 高平市| 城市| 莱州市| 左贡县| 阿克陶县| 宁陵县| 抚宁县| 高青县| 乐山市| 韶关市| 白山市| 永顺县| 夏河县| 甘泉县| 万州区| 景德镇市| 和田市| 陆川县| 霍山县| 拉萨市| 文昌市| 伊春市| 兴业县| 日喀则市| 峡江县| 台南市| 仙游县| 年辖:市辖区| 察哈| 金寨县| 辽中县| 米易县|