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

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

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

難度初級
時長 3小時 0分
學習人數
綜合評分9.63
323人評價 查看評價
9.9 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • 基礎方法:DOM(平臺無關的官方解析方式)、SAX(基于事件驅動的解析方式) 擴展方法:JDOM、DOM4J(在基礎的方法上擴展出的,只有在java中能夠使用的解析方法) DOM:一次性將整個xml文件加載到內存中,形成DOM樹 優點:形成了樹結構,直觀好理解,代碼更容易編寫 解析過程中樹結構保留在內存中,方便修改 缺點:當xml文件較大時,對內存消耗比較大,容易影響解析性能并造成內存溢出 SAX:逐條語句判斷解析 優點:采用事件驅動模式,對內存消耗比較小 適用于只需要處理xml中數據時 缺點:不易編碼 很難同時訪問同一個xml中的多處不同數據 JDOM:僅使用具體類而不使用接口 API大量使用了Collections類 DOM4J:JDOM的一種智能分支,它合并了許多超出基本XML文檔表示的功能 DOM4J使用接口和抽象基本類方法,是一個優秀的Java XML API 具有性能優異、靈活性好、功能強大和極端易使用的特點 是一個開放源代碼的軟件
    查看全部
  • 1.解析子節點,book標簽之間的所有內容都看成是子節點<br> NodeList childNodes=book.getChildNodes()<br> 2.通過childNodes的getLength()方法返回節點的個數(空格與換行字符看成為一個文本節點,標簽與結束標簽看成一個元素節點)<br> 3.通過NodeList的item()獲取子節點屬性,再用Node類型的getNodeName()方法就可以獲取節點名<br> Node childnode=childNodes.item(i);<br> String name=childnode.getNodeName();<br> 通過Node類的getNodeType()來區分text類型的node以及elment類型的node<br> if(childnode.getNodeType==Node.ELEMENT_NODE)<br> {System.out.println(name)}<br> 4.不能直接通過Node的getNodeValue()來獲取節點的值,因為元素節點的nodeValue的返回值為null而且標簽之間的文本被看做是該標簽的子節點.所以要用Node的getFirstChild()此時獲取的子節點屬性,再getNodeValue()獲取該值<br> 或者用getTextContent()方法獲取節點值。<br> 5.getFirstChild()與getTextContent()區別<br> 如果該節點還存在其他子節點并且有節點值<name><a>aa</a>老人與海</name>,那么用getFirstChild().getNodeValue()一樣是null,因為得到的是<a></a>,<a>是element元素,element元素的getNodeValue()返回的是空類型 如果用Node的getTextContent(),獲取name下的節點值以及a下的節點值。 結果:aa老人與海
    查看全部
  • 在不知道節點屬性的個數和屬性名時: 1、通過document.getElementByTagName("標簽名")獲得所有標簽名的節點,得到一個NodeList集合 2、通過NodeList.getLength()獲得集合長度,遍歷集合 3、Node node = NodeList.item(index)獲得里面的節點 4、通過NamedNodeMap attrs = node.getAttributes()獲取所有屬性集合 5、通過attrs.getLength()遍歷集合,Node attr = atrrs.item(index) 6、attr.getNodeName()獲得屬性名,attr.getNodeValue()獲取屬性值 前提已經知道book節點有且只有1個id屬性,將book節點進行強制類型轉換,轉換成element類型。 1、通過document.getElementByTagName("標簽名")獲得所有標簽名的節點,得到一個NodeList集合 2、通過NodeList.getLength()獲得集合長度,遍歷集合 3、element book=(element)bookList.item(i);//強制轉換為element類型 4、String attrValue = book.getAttribute("id");
    查看全部
  • 解析子節點的信息 Iterator itt = book.elementIterator(); while(itt.hasNext()){ Element bookchild = (Element)itt.next(); bookchild.getName(); bookchild.getStringValue(); }
    查看全部
  • DOM4J 解析 xml 文件 1、創建一個 SAXReader 對象 SAXReader saxReader = new SAXReader(); 2、通過SAXReader對象的read方法加載books.xml文件,獲取docuemnt對象 Document document = saxReader.read(fileName); 3、通過 getRootElement() 獲取根節點bookstore Element bookstore = document.getRootElement(); 4、通過 elementIterator() 獲取book的迭代器 Iterator it = bookstore.elementIterator(); 5、遍歷迭代器,獲取根節點中的信息(書籍) while(it.hasNext()){ //獲取子節點的元素 Element book = (Element)it.next();} 6、獲取屬性節點類似 JDOM 解析 List<Attribute> attrs = book.attributes(); 7、遍歷,獲取屬性節點名、值 book.getName() book.geValue() 8、獲取book子節點的迭代器 Iterator itt = book.elementIterator(); 8、遍歷,獲取元素節點名、值 book.getName() book.getStringValue()/book.getText()
    查看全部
  • 關于 JDOM 使用過程中 JAR 包的引用 操作: 1.項目根目錄下新建lib文件夾 2.復制、粘帖包 3.右擊包選擇“構建路徑” 4.“添加至構建路徑”
    查看全部
  • 在JDOM中存儲對象 1.創建一個新的book類并將其實例化 Book bookEntity = new Book(); 2.添加節點屬性值到book if(attrName.equals("id")){ personEntity.setId(attrValue); } 3.添加子節點屬性值到book if (child.getName().equals("name")) { bookEntity.setName(child.getValue()); } else if (child.getName().equals("author")) { bookEntity.setAuthor(child.getValue()); } else if (child.getName().equals("year")) { bookEntity.setYear(child.getValue()); } else if (child.getName().equals("price")) { bookEntity.setPrice(child.getValue()); } else if (child.getName().equals("language")) { bookEntity.setLanguage(child.getValue()); }
    查看全部
  • JDOM 解析時亂碼的處理 兩種方法可以解決亂碼問題: 1.修改xml第一行的encoding屬性 2.在代碼中處理,應用IO流知識 //創建輸入流,將XML文件加載到輸入流中 InputStream in = new FileInputStream("src/book.xml"); //使用包裝流InputStreamReader進行讀取編碼的指定 InputStreamReader isr = new InputStreamReader(in,"UTF-8");
    查看全部
  • // 對book節點的子節點的節點名以及節點值的遍歷 List<Element> bookChilds = book.getChildren(); for (Element child : bookChilds) { System.out.println("節點名:" + child.getName() + "----節點值:" + child.getValue()); } DOM 解析 獲取節點名、值:getNodeName() getNodeValue() getTextContent() 獲取子節點:getChildNodes() 返回 NodeList 獲取屬性節點:getAttributes() 返回 NamedNodeMap JDOM 解析 獲取節點名、值:getName() getValue() 獲取子節點:getChildren() 返回 List<Element> 獲取屬性節點:getAttributes() 返回 List<Attribute>
    查看全部
  • 獲取xml文件內容的四種解析方式:DOM SAX DOM4J JDOM DOM、SAX :java 官方方式,不需要下載jar包 DOM4J、JDOM :第三方,需要網上下載jar包 DOM使用步驟: 準備工作 //創建一個DocumentBuilderFactory的對象 DocumentBuilderFactory dbf = DocumnetBuilderFactory.instance(); //創建一個DocumentBuilder的對象 DocumentBuilder db = dbf.newDocumentBuilder(); //通過DocumentBuilder對象的parse方法加載xml文件到當前項目,注:import org.w3c.dom.Document; Document document = db.parse("*.xml");
    查看全部
  • 1.xml(Extensible Markup Language)可擴展標記語言的主要作用: 1)主要是實習不同功能直接的連接(比如訂票與 支付) 2)不同系統之間的連接 3)數據共享 2.一種定義文檔格式的語言 語法結構: 1)declaration(聲明) <? ?> <? xml version="1.0" encoding="UTF-8"?> 2)Tag(標記)<></> <username> 內容</username> 3)Attribute(屬性) <username sex="male"></username> sex="male"即為屬性 也可以把屬性改為子元素 <username> 張三 <sex>male</sex> </username> 4)注釋 <!-- --> eg:<!--這是一個注釋的例子-->
    查看全部
    0 采集 收起 來源:初次邂逅 XML

    2018-03-22

  • // 遍歷解析bookList集合 for (Element book : bookList) { 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); if (attrName.equals("id")) { bookEntity.setId(attrValue); } }
    查看全部
  • JDOM是第三方提供的解析XML方法,需要jdom-2.0.5.jar包 步驟: 1、創建SAXBuilder對象 SAXBuilder saxBuilder = new SAXBuilder(); 2、創建一個輸入流將XML加載到輸入流中 InputStream in = new FileInputStream("books.xml"); 3、通過saxBuilder的build()將輸入流加載到saxBuilder中 Document document = saxBuilder.build(in); 4、根據document的getRootElement()獲取xml中的根節點 Element rootElement = document.getRootElement(); 5、獲取根節點下的子節點的List集合 List<Element> bookList = rootElement.getChildren(); PS:Alt+向上---代碼上移,Alt+向下---代碼下移;
    查看全部
  • 需重看 程序有BUG
    查看全部
  • java中解析xml的四種方式
    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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