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

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

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

難度初級
時長 3小時 0分
學習人數
綜合評分9.63
323人評價 查看評價
9.9 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • 在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");
    查看全部
  • DOM 解析 獲取節點名、值:getNodeName() getNodeValue() getTextContent() 獲取子節點:getChildNodes() 返回 NodeList 獲取屬性節點:getAttributes() 返回 NamedNodeMap JDOM 解析 獲取節點名、值:getName() getValue() 獲取子節點:getChildren() 返回 List<Element> 獲取屬性節點:getAttributes() 返回 List<Attribute>
    查看全部
  • ---------------------------應用JDOM解析子節點屬性------------------------------ //通過增強for循環進行遍歷子節點集合 for(Element person : personList){ System.out.print("======開始解析第" + (personList.indexOf(person)+1) + "個人======"); //解析person的屬性 List<Attribute> attrList = person.getAttributes();//適用于我們不知道里面有多少屬性 person.getAttributeValue("id");//適用于我們知道子節點屬性的名字直接獲取其屬性值 //遍歷屬性 for(Attribute attr : attrList){ //獲取屬性名 String attrName = attr.getName(); //獲取屬性值 String attrValue = attr.getValue(); } System.out.println("======結束解析第" + personList.indexOf(person)+1 + "個人======"); }
    查看全部
  • DOM 開始解析前的準備工作 (需要導入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();
    查看全部
  • 解析XML文檔時,想要保存與其結構形式相同的結構內容時可以通過定義全局變量book與bookList來完成,將XML文件的相關屬性保存到book對象中。 每讀取完一本book之后將其存入bookList中,然后清空book進行下一本書的存儲,最后從bookList中查看所有讀取到的book的內容。 注:通過startElement和endElement方法來標志進行節點本身屬性的開始與結束讀取。 通過startDocument和endDocument方法來標志對XML文件的開始與結束讀取。 通過characters方法來進行對節點本身內容的讀取。
    查看全部
  • SAX解析XML的速度比DOM的塊, SAX的解析XML的解析器,需要重寫startElement()開始解析的方法and endElemaent()方法 結束解析的方法and characters()方法 重寫charaters()方法時,String(byte[] bytes,int offset,int length)的構造方法進行數組的傳遞 再去除解析時多余空格 if(!value.trim().equals("")){ System.out.println(value); } 使用 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); } }
    查看全部
  • //開始解析book元素的屬性 if(qName.equals("book")) { //已知booke元素下屬性的名稱,根據屬性名稱獲取屬性值 String value = attributes.getValue("id"); System.out.println("book的屬性值是:"+value); //不知道book元素下屬性的名稱以及個數,如何獲取屬性名及屬性值 int num = attributes.getLength(); for(int i = 0; i < num; i++) { System.out.print("book元素的第"+(i+1)+"個屬性是:"+attributes.getQName(i)); System.out.println("---屬性值是:"+attributes.getValue(i)); } }
    查看全部
  • 1.空白和換行也當做子節點 2.childNodes.item(k)代表個第K個子節點 解析節點名與值: 1、獲取節點集合:元素.getChildNodes(); 2、獲取所有節點名:遍歷節點集合,節點.getNodeName() 3、獲取節點值:節點.getFirstChild().getNodeValue()或節點.getTextContent() 獲取節點之間的值有兩種方法: getFirstChild().getNodeValue();獲取節點下第一個子節點,并取得其中的內容。如果第一個子節點還是一個包含內容的節點,則會獲取到null,如果是文字,則會直接顯示出來 getTextContent();直接獲取節點下的所有內容,無論其是節點還是文本,一律將其中的文本和節點中的文本顯示出來 node還有geinodetype
    查看全部
  • 使用Dom解析xml文件的屬性節點 一、未知節點屬性的個數和屬性名時: 1、通過document.getElementByTagName("book")獲得所有book的節點集合 2、遍歷集合 NodeList.getLength()獲得集合長度 3、Node node = NodeList.item(index)獲取其中的一個節點 4、通過NamedNodeMap attrs = node.getAttributes()獲取所有屬性集合 5、遍歷集合 attrs.getLength()獲得集合長度 6、通過atrrs.item(index)獲取book節點的某一個屬性 7、attr.getNodeName()獲得屬性名,attr.getNodeValue()獲取屬性值 二、已知book節點有且只有1個id屬性 1、通過document.getElementByTagName("book")獲得所有book的節點集合 2、遍歷集合 NodeList.getLength()獲得集合長度 3、element book=(element)NodeList.item(i);//強制轉換為element類型 4、String attrValue = book.getAttribute("id");//獲得屬性值
    查看全部
  • dom解析xml文件
    查看全部
  • JDOM和DOM4J對比
    查看全部
  • SAX解析方式優缺點
    查看全部
  • DOM解析方式優缺點
    查看全部
  • 四種解析方式的區別
    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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