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

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

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

難度初級
時長 3小時 0分
學習人數
綜合評分9.63
323人評價 查看評價
9.9 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • handler重寫: 獲取xml解析開始、結束 startDocument() endDocument() 獲取xml的標簽 開始:startElement(String uri, String localName, String qName,Attributes attributes) 獲取屬性名:attributes.getQName(i);獲取屬性值:attributes.getValue(i) 結束:endElement(String uri, String localName, String qName) 獲取節點值 characters(char[] ch, int start, int length) String value = new String(ch, start, length);
    查看全部
  • SAX解析的原理: 通過自己創建的Handler類,去逐個分析遇到的節點;Handler走到第一行的XML申明時,就開始分析節點了。 遇到bookstore節點就可以進行處理了,但是bookstore沒有屬性所以就不對其做更多的處理了。 遇到book節點時,book節點是擁有的id屬性,會通過startElement來處理book節點的id屬性 遇到book節點的子節點name節點,它沒有必要處理name的屬性,但name是個ElementNode類型的節點,它會獲取name的節點名和節點值,執行完name節點后會通過endElement方法執行name節點的結束標簽 SAX解析XML的步驟: 1、通過SAXParserFactory的靜態newInstance()方法獲取SAXParserFactory實例factory 2、通過SAXParserFactory實例的newSAXParser()方法返回SAXParser實例parser 3、創建一個類繼承DefaultHandler,重寫其中的一些方法進行業務處理并創建這個類的實例handler
    查看全部
  • DOM方式解析步驟(2) 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()獲取屬性值
    查看全部
  • DOM方式解析步驟(1) 1.創建一個DocumentBuilderFactory對象 DocumentBuilderFactory.newInstance(); 2.創建一個DocumentBuilder對象 DocumentBuilderFactoryd實例對象.newDocumentBuilder(); 3.通過DocumentBuilder對象的parse(String fileName)方法解析XML文件;
    查看全部
  • 四種解析方式:DOM/SAX(官方),DOM4J/JDOM(需下載額外的包)
    查看全部
  • JAVA 四種 XML 解析方式 基礎方法 DOM (與平臺無關的官方解析) SAX (基于事件驅動的解析) 擴展方法 (在基礎方法上擴展的,只有在 java 中才能夠使用的解析方法) JDOM 、 DOM4J DOM 解析優缺點: 優點:在內存中形成樹結構,直觀容易理解及代碼編寫維護 缺點:當 XML 文件比較大時,對內存耗費大,容易影響解析性能并造成內存溢出 SAX 解析優缺點: 優點:采用事件驅動模式,對內存耗費比較小,適用于只需要處理 XML 中的數據 缺點:不容易編碼,很難同時訪問同一個 XML 中的多處不同數據 JDOM 解析特點 A、僅使用具體類而不使用接口 B、API 大量使用了 Collections 類 DOM4J 解析特點 A、是JDOM 的一種智能分支,合并了許多超出基本 XML 文檔表示的功能 B、使用接口和抽象基本類方法,是一個優秀的 Java XML API C、具有性能優異、靈活性好,功能強大和極端易用的特點 D、開放的源代碼
    查看全部
  • 解析子節點的信息 Iterator itt = book.elementIterator(); while(itt.hasNext()){ Element bookchild = (Element)itt.next(); bookchild.getName(); bookchild.getStringValue(); }
    查看全部
  • ---------------------------------------DOM4J解析節點屬性--------------------------------------- //創建SAXReader的對象reader SAXReader reader = new SAXReader(); //通過reader的read加載person.xml文件 Document document = reader.read(new File("person.xml")); //通過document對象獲取根節點persons Element persons = document.getRootElement(); //通過element對象的elementIterator方法獲取迭代器 Iterator it = persons.getIterator(); //遍歷迭代器,獲取根節點中的信息(persons)適用于我們不知道節點的名稱時 while(it.hasNext()){ Element person = (Element)it.next(); //獲取person的屬性名和屬性值 List<Attribute> personAttrs = person.attributes(); //由于是List類型所以我們使用for each()循環進行遍歷 for(Attribute attr : personAttrs){ System.out.println("節點名:" + attr.getName() +?。?-節點值:" + attr.getValue()); } } ---------------------------注意代碼中import時導入的是dom4j下的--------------------------------
    查看全部
  • ---------------------------------關于JDOM使用過程中JAR包的引用--------------------------------- 我們的項目中直接配置build path指定的jar包如果是在我們PC的硬盤某個路徑,那么在日后導出項目時候,項目中是沒有jar包的。 我們只能在我們的項目下建立一個lib文件夾將所需jar包復制進去,再進行build path的配置即可。
    查看全部
  • 在JDOM中存儲對象, Person personEntity = new Person(); if(attrName.equals("id")){ personEntity.setId(attrValue); } if(child.getName().equals("name")){ personEntity.setName(child.getValue()); }else if(child.getName().equals("sex")){ personEntity.setSex(child.getValue()); }else if{ ... }
    查看全部
  • -----------------------------------JDOM 解析時亂碼的處理----------------------------------- 解析XML文件出現亂碼時,第一時間應該查看XML的編碼屬性,如果編碼有問題,則自行修改后再進行解析; 如果修改XML的編碼不好使,則只能在不改變XML文件的基礎下,修改我們的JDOM代碼 //創建輸入流,將XML文件加載到輸入流中 InputStream in = new FileInputStream("src/person.xml"); //使用包裝流InputStreamReader進行讀取編碼的指定 InputStreamReader isr = new InputStreamReader(in,"UTF-8");
    查看全部
  • 1、使用 foreach 遍歷子元素節點時,獲取索引使用 indexOf + 1 for(Element ele : eles) eles.indexOf(ele)+1 2、獲取元素的屬性節點 List<Attribute> attrs = ele.getAttributes(); 如果知道屬性名稱通過 getAttributeValue("屬性名") 獲取屬性值
    查看全部
  • SAX解析XML的速度比DOM的塊, SAX的解析XML的解析器,需要重寫startElement()開始解析的方法and endElemaent()方法 結束解析的方法and characters()方法 重寫charaters()方法時,讀取節點值(去除空的節點值) if(!value.trim().equals("")){ System.out.println(value); }
    查看全部
  • SAX解析的原理: 通過自己創建的Handler類,去逐個分析遇到的節點;Handler走到第一行的XML申明時,就開始分析節點了。 遇到bookstore節點就可以進行處理了,但是bookstore沒有屬性所以就不對其做更多的處理了。 遇到book節點時,book節點是擁有的id屬性,會通過startElement來處理book節點的id屬性 遇到book節點的子節點name節點,它沒有必要處理name的屬性,但name是個ElementNode類型的節點,它會獲取name的節點名和節點值,執行完name節點后會通過endElement方法執行name節點的結束標簽 SAX解析XML的步驟: 1、通過SAXParserFactory的靜態newInstance()方法獲取SAXParserFactory實例factory 2、通過SAXParserFactory實例的newSAXParser()方法返回SAXParser實例parser 3、創建一個類繼承DefaultHandler,重寫其中的一些方法進行業務處理并創建這個類的實例handler
    查看全部
  • 獲取根節點 Node root = document.getDocumentElement(); 不知道節點名稱獲取元素的子節點都可以使用 getChildNodes(),包括根節點 NodeList childs = document.getChildNodes(); NodeList childs = ele.getChildNodes(); 非空白文本節點 childs.item(index).getNodeType() == Node.ELEMENT_NODE 獲取節點名、值(元素、屬性) node.getNodeName() node.getNodeValue() / node.getTextContent();
    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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