課程
/后端開發(fā)
/Java
/Java眼中的XML---文件讀取
如果我只知道有books.xml文件 我怎么知道下面有bookstore這個節(jié)點 然后又怎么得到下面的兩個book節(jié)點呢 不知道的情況下
2016-12-18
源自:Java眼中的XML---文件讀取 2-3
正在回答
package?com.javatoxml.dom4jtest; import?java.io.File; import?java.util.ArrayList; import?java.util.Iterator; import?java.util.List; import?org.dom4j.Attribute; import?org.dom4j.Document; import?org.dom4j.DocumentException; import?org.dom4j.Element; import?org.dom4j.io.SAXReader; import?com.javatoxml.entiry.Book; public?class?DOM4JTest?{ // private?static?Book?bookEntiry?; private?static?ArrayList<Book>?booksList?=?new?ArrayList<Book>(); public?static?void?main(String[]?args)?{ //創(chuàng)建SAXReader對象 SAXReader?reader?=?new?SAXReader(); //通過reader方法加載books.xml文件 try?{ Document?document?=?reader.read(new?File("src/res/books.xml")); //通過document對象獲取根節(jié)點bookStore Element?bookStore?=?document.getRootElement(); //通過element對象的elementIterator方法獲取迭代器 Iterator?it?=?bookStore.elementIterator(); //歷遍迭代器,獲取根節(jié)點中的信息 while?(it.hasNext())?{ Book?bookEntiry?=?new?Book(); Element?book?=?(Element)it.next(); //獲取book的屬性名以及屬性值 List<Attribute>?bookAttrs?=?book.attributes(); for?(Attribute?attr?:?bookAttrs)?{ System.out.println("屬性名:"?+?attr.getName()?+?"---屬性值:"?+?attr.getValue()); bookEntiry.setId(attr.getValue()); } Iterator?itt?=?book.elementIterator(); while?(itt.hasNext())?{ Element?bookChild?=?(Element)?itt.next(); System.out.println("節(jié)點名:"?+?bookChild.getName()?+?"---節(jié)點值:"?+?bookChild.getStringValue()); if?(bookChild.getName().equals("name"))?{ bookEntiry.setName(bookChild.getStringValue()); }?else?if?(bookChild.getName().equals("author")){ bookEntiry.setAuthor(bookChild.getStringValue()); }?else?if?(bookChild.getName().equals("year"))?{ bookEntiry.setYear(bookChild.getStringValue()); }?else?if?(bookChild.getName().equals("price"))?{ bookEntiry.setPrice(bookChild.getStringValue()); }?else?if?(bookChild.getName().equals("language"))?{ bookEntiry.setLanguage(bookChild.getStringValue()); } } booksList.add(bookEntiry); System.out.println(booksList.size()); bookEntiry?=?null; } for?(Book?books?:?booksList)?{ System.out.println(books.getId()); System.out.println(books.getName()); System.out.println(books.getAuthor()); System.out.println(books.getYear()); System.out.println(books.getPrice()); System.out.println(books.getLanguage()); System.out.println("------finishi-----"); } }?catch?(DocumentException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } } } //在接下來學習DOM4J解析中你能找到答案,代碼注釋已經寫的很清楚了
舉報
通過Java認識并且創(chuàng)造XML文件,如何應用 Java“解析 XML
2 回答如果我 只知道 根節(jié)點,不知道文檔的具體節(jié)點,又該如何解析文檔?
1 回答books.xml路徑錯誤
1 回答我想知道為什么項目一個包下的文件和項目下的文件的相對路徑是直接寫book.xml就可以的 不是還有包目錄和src嗎
1 回答如果XML文件中的不只是的樹結構有多少層該怎么辦?
2 回答Document document =db.parse("books.xml");此處為什么會出現錯誤?大家看截圖
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優(yōu)惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-12-18