隨筆-199  評論-203  文章-11  trackbacks-0

          1.        如果要將讀取的XML文件,再寫入另外的一個新XML文件中,首先必須新建一個和要讀取相對應的beans類,通過set方法填充數據,get方法獲取數據。

          2.        在讀取XML文件的時候,需要用到ArrayList集合來存儲每次從原XML文件里面讀取的數據,在寫入新的XML文件的時候,也要通過ArrayList集合獲取要遍歷的次數,同時將數據寫入到新的xml文件中

          3.        詳細代碼如下:

          public static void main(String[] args) {

                        try {

                               String url = "book.xml";

                               ArrayList list = getBookList(url);

                               //寫入一個新的xml文件

                               FileWriter fw = new FileWriter("newbook.xml");

                               fw.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

                              

                               fw.write("\n<books>");

                               for (int i = 0; i < list.size(); i++) {

                                      BookBean book = (BookBean)list.get(i);

                                      fw.write("\n<book>\n");

                                      if(book.getTitle()!=null){

                                             fw.write("<title>");

                                             fw.write(book.getTitle());

                                             fw.write("</title>\n");

                                      }

                                      if(book.getAuthor()!=null){

                                             fw.write("<author>");

                                             fw.write(book.getAuthor());

                                             fw.write("</author>\n");

                                      }

                                      if(book.getPrice()!=null){

                                             fw.write("<price>");

                                             fw.write(book.getPrice());

                                             fw.write("</price>\n");

                                      }

                                      fw.write("</book>\n");

                               }

                               fw.write("</books>");

                               fw.close();

                              

                        } catch (Exception e) {

                               System.out.println(e.getMessage());

                        }

                 }

                

          //獲取從一個xml文件中讀取的數據,并將其保存在ArrayList中

                 public static ArrayList getBookList(String url){

                        ArrayList list = new ArrayList();

                        try{

                               DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();

                               Document doc = db.parse(url);

                               NodeList nodeList = doc.getElementsByTagName("book");

                               for (int i = 0; i < nodeList.getLength(); i++) {

                                      String title = doc.getElementsByTagName("title").item(i).getFirstChild().getNodeValue();

                                      String author = doc.getElementsByTagName("author").item(i).getFirstChild().getNodeValue();

                                      String price = doc.getElementsByTagName("price").item(i).getFirstChild().getNodeValue();

                                      BookBean book = new BookBean();

                                      book.setTitle(title);

                                      book.setAuthor(author);

                                      book.setPrice(price);

                                      list.add(book);

                               }

                        }catch(Exception e){

                               System.out.println(e.getMessage());

                        }

                        return list;

                 }

          }

          如果你想把這個代碼看懂的話,我建議你,先把怎樣從XML讀取的數據的看懂!

          posted on 2009-03-16 07:34 Werther 閱讀(3080) 評論(1)  編輯  收藏 所屬分類: 10.Java

          評論:
          # re: 在Java中讀取寫入XML文件(DEMO_004) 2009-03-16 14:22 | 冷面閻羅
          寫的方法用jdom 或是dom4j不是比這個好么?

            回復  更多評論
            
          主站蜘蛛池模板: 苗栗市| 合肥市| 满洲里市| 同仁县| 沾益县| 辽宁省| 湟中县| 徐州市| 陕西省| 宽城| 南安市| 江永县| 皮山县| 云龙县| 黄大仙区| 南陵县| 普兰店市| 石狮市| 铁力市| 行唐县| 乌恰县| 丘北县| 横峰县| 轮台县| 涪陵区| 龙海市| 黄大仙区| 鄢陵县| 元氏县| 开化县| 宕昌县| 合肥市| 绥阳县| 天镇县| 固原市| 育儿| 任丘市| 含山县| 磐安县| 肇州县| 宁国市|