亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Java眼中的XML---文件讀取

難度初級
時長 3小時 0分
學習人數
綜合評分9.63
323人評價 查看評價
9.9 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • 小技巧:關于 JDOM 使用過程中 JAR 包的引用(以后的項目操作類似)【重點】 操作:項目根目錄下新建lib文件夾——復制—粘帖包——右擊包選擇“構建路徑”——“添加至構建路徑”即可。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】
    查看全部
  • 在 JDOM 中存儲 Book 對象 private static ArrayList<Book> booksList = new ArrayList<Book>(); ... // 遍歷attrList(針對不清楚book節點下屬性的名字及數量) for (Attribute attr : attrList) { // 屬性名 String attrName = attr.getName(); // 屬性值 String attrValue = attr.getValue(); System.out.println("屬性名:" + attrName + "屬性值:" + attrValue); if (attrName.equals("id")) { bookEntity.setId(attrValue); } } // 對book節點的子節點的節點名及節點值的遍歷 List<Element> bookChilds = book.getChildren(); for (Element child : bookChilds) { System.out.println("節點名:" + child.getName() + "節點值:" + child.getValue()); if (child.getName().equals("name")) { bookEntity.setName(child.getValue()); } else if (child.getName().equals("author")) { bookEntity.setAuthor(child.getValue()); } ...//else if(){}與上面類似 booksList.add(bookEntity); bookEntity = null; syso.booksList.size(); syso.booksList.get(0).getId(); syso.booksList.get(0).getName(); ...
    查看全部
  • JDOM 解析時亂碼的處理 // 2.創建一個輸入流,將xml文件加載到輸入流中 in = new FileInputStream("src/res/books.xml"); InputStreamReader isr = new InputStreamReader(in, "UTF-8"); // 3.通過saxBuilder的build方法,將輸入流加載到saxBuilder中 Document document = saxBuilder.build(isr); ... Ps:注意先看下xml文件encoding是否修改編碼方式后可以正常顯示,若還是亂碼,則考慮使用代碼的方式將其轉換。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】
    查看全部
  • 應用 JDOM 解析子節點的名和值 System.out.println("屬性名:" + attrName + "----屬性值:" + attrValue); // 對book節點的子節點的節點名以及節點值的遍歷 List<Element> bookChilds = book.getChildren(); for (Element child : bookChilds) { System.out.println("節點名:" + child.getName() + "----節點值:" + child.getValue()); ... 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】
    查看全部
  • 應用 JDOM 解析節點屬性 List<Element> bookList = rootElement.getChildren(); // 繼續進行解析 for (Element book : bookList) { Book bookEntity = new Book(); System.out.println("======開始解析第" + (bookList.indexOf(book) + 1) + "書======"); // 解析book的屬性集合 List<Attribute> attrList = book.getAttributes(); // //知道節點下屬性名稱時,獲取節點值 // book.getAttributeValue("id"); // 遍歷attrList(針對不清楚book節點下屬性的名字及數量) for (Attribute attr : attrList) { // 獲取屬性名 String attrName = attr.getName(); // 獲取屬性值 String attrValue = attr.getValue(); System.out.println("屬性名:" + attrName + "----屬性值:" + attrValue); System.out.println("======結束解析第" + (bookList.indexOf(book) + 1) + "書======"); ... Ps:foreach類型和List<>配合使用,類型foreach類型取得是<?>里面的類型,表示每一項的元素。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】
    查看全部
  • JDOM 開始解析前的準備工作 public static void main(String[] args) { // 進行對books.xml文件的JDOM解析 // 準備工作 // 1.創建一個SAXBuilder的對象 SAXBuilder saxBuilder = new SAXBuilder(); InputStream in; try { // 2.創建一個輸入流,將xml文件加載到輸入流中 in = new FileInputStream("src/res/books.xml");//放在包下可以直接用“/”來分隔 // 3.通過saxBuilder的build方法,將輸入流加載到saxBuilder中 Document document = saxBuilder.build(in); // 4.通過document對象獲取xml文件的根節點 Element rootElement = document.getRootElement(); // 5.獲取根節點下的子節點的List集合 List<Element> bookList = rootElement.getChildren(); ... Ps1:小技巧:Alt+向上——代碼上移,Alt+向下——代碼下移; Ps2:- org.jdom2 Document。 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】
    查看全部
  • xml將空白和換行也識別為結點。
    查看全部
  • 遍歷獲得屬性名和屬性值。
    查看全部
  • 遍歷節點屬性
    查看全部
  • 使用 SAX 解析將 XML 的內容和結構存入 JAVA 對象 Ps:只顯示有變化的部分 public class SAXParserHandler extends DefaultHandler { String value = null; Book book = null; private ArrayList<Book> bookList = new ArrayList<Book>(); public ArrayList<Book> getBookList() {//【注意:為了讓main方法進行調用】 return bookList; } int bookIndex = 0; public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { super.startElement(uri, localName, qName, attributes); if (qName.equals("book")) { bookIndex++; //創建一個book對象 book = new Book(); public void endElement(String uri, String localName, String qName) throws SAXException { super.endElement(uri, localName, qName); //判斷是否針對一本書已經遍歷結束 if (qName.equals("book")) { bookList.add(book); book = null;//【注意:每弄完一本書進行清空給下一本書用】 System.out.println("======================結束遍歷某一本書的內容================="); } else if (qName.equals("name")) { book.setName(value); } ...//類似上面else if(){} }
    查看全部
  • SAXParserHandler模版+執行原理順序 I-3 運行結果: SAX解析開始 解析xml元素開始 文本處理中... 解析xml元素開始 文本處理中... 解析xml元素開始 文本處理中... 解析xml元素結束 文本處理中... 解析xml元素開始 解析xml元素開始 文本處理中... 解析xml元素結束 文本處理中... 解析xml元素結束 文本處理中... 解析xml元素開始 文本處理中... 解析xml元素結束 文本處理中... 解析xml元素結束 文本處理中... 解析xml元素結束 SAX解析結束 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】
    查看全部
  • 使用 SAX 解析 XML 文件的節點名和節點間文本 startElement方法——String qName(第三個參數):節點名 startElement方法——Attributes attributes(第四個參數):節點名的屬性操作 characters方法——char[] ch(第一個參數):xml整個文本內容,所以需截取想要的內容 如圖代碼+以下代碼 public void endElement(String uri, String localName, String qName) throws SAXException { //調用DefaultHandler類的endElement方法 super.endElement(uri, localName, qName); //判斷是否針對一本書已經遍歷結束 if (qName.equals("book")) { System.out.println("======================結束遍歷某一本書的內容================="); } } public void characters(char[] ch, int start, int length) throws SAXException { // TODO Auto-generated method stub super.characters(ch, start, length); value = new String(ch, start, length); if (!value.trim().equals("")) { System.out.println("節點值是:" + value); } } 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】
    查看全部
  • 使用 SAX 解析 XML 文件的節點屬性 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】
    查看全部
  • SAXParserHandler模版+執行原理順序 I-2 public static void main(String[] args) { // 獲取一個SAXParserFactory的實例 SAXParserFactory factory = SAXParserFactory.newInstance(); // 通過factory獲取SAXParser實例 try { SAXParser parser = factory.newSAXParser(); // 創建SAXParserHandler對象 SAXParserHandler handler = new SAXParserHandler(); parser.parse("books.xml", handler); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } Ps:注意try...catch最好不要嵌套,一起并列寫。 ----------------------------分割線---------------------------- <?xml version="1.0" encoding="UTF8"?> <bookstore> <book id="1"> <name>imooc</name> <year><a>2013</a>2014</year> <price>89</price> </book> </bookstore> 【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】
    查看全部
  • SAXParserHandler模版+執行原理順序 I-1 public class SAXParserHandler extends DefaultHandler { /** * 用來標識解析開始 */ public void startDocument() throws SAXException { super.startDocument(); System.out.println("SAX解析開始"); } /** * 解析xml元素節點開始 */ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { super.startElement(uri, localName, qName, attributes); System.out.println("解析xml元素開始"); } /** * 處理文本內容(獲取的是整個XML文本內容) */ public void characters(char[] ch, int start, int length) throws SAXException { super.characters(ch, start, length); System.out.println("文本處理中..."); } /** * 解析xml元素節點結束 */ public void endElement(String uri, String localName, String qName) throws SAXException { super.endElement(uri, localName, qName); System.out.println("解析xml元素結束"); } /** * 用來標識解析結束 */ public void endDocument() throws SAXException { super.endDocument(); System.out.println("SAX解析結束"); }
    查看全部

舉報

0/150
提交
取消
課程須知
本課程是 Java 的中級課程,需要各位小伙伴們熟悉 Java 面向對象的思想,并能熟練掌握 Java I/O 的相關知識。對如何將內容寫入 XML 文件感興趣的小伙伴們,可以進入《Java 眼中的 XML --- 文件寫入》一探究竟
老師告訴你能學到什么?
1、XML 的基本概念 2、XML 在實際項目開發中的的用途和優點 3、如何通過 Java 解析 XML

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!