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

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914107
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 滨州市| 仁化县| 英山县| 河曲县| 论坛| 永兴县| 屏边| 孟津县| 云南省| 萍乡市| 沅陵县| 黄龙县| 紫云| 大名县| 同德县| 河曲县| 辽中县| 峡江县| 顺昌县| 汝阳县| 巴林左旗| 七台河市| 巨鹿县| 安多县| 怀化市| 南昌市| 湟中县| 上思县| 绥化市| 大城县| 桑植县| 章丘市| 永宁县| 桦川县| 武胜县| 同仁县| 灵石县| 临朐县| 云阳县| 德钦县| 元谋县|