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

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

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

難度初級
時長 3小時 0分
學習人數
綜合評分9.63
323人評價 查看評價
9.9 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • gettextcontent方法
    查看全部
  • 當使用getnodevalue時候返回值是null需要得到字節點getchildnode在取值
    查看全部
  • 用DOM方式解析xml:①通過DocumentBuilderFactory對象的newInstance()方法獲取DocumentBuilderFactory對象的實例 ②通過DocumentBuilderFactory實例對象的newDocumentBuilder()方法獲取DocumentBuilder實例 ③通過DocumentBuilder實例的parse()方法解析XML文件,返回的是Document對象
    查看全部
  • java中解析xml文件內容的方式
    查看全部
  • @Override public void endElement(String uri, String localName, String qName) throws SAXException { super.endElement(uri, localName, qName); if("book".equals(qName)) { bookList.add(book); book = null; System.out.println("-----第" + bookIndex + "本書遍歷結束-----\n\n"); } else if("name".equals(qName)) { book.setName(value); } else if("price".equals(qName)) { book.setPrice(Integer.parseInt(value)); } else if("author".equals(qName)) { book.setAuthor(value); } } @Override public void startDocument() throws SAXException { super.startDocument(); System.out.println("開始SAX解析"); } @Override public void endDocument() throws SAXException { super.endDocument(); System.out.println("SAX解析結束"); } @Override public void characters(char[] ch, int start, int length) throws SAXException { super.characters(ch, start, length); value = new String(ch, start, length); if(!"".equals(value.trim())) { System.out.println("---節點值是:" + value); } } }
    查看全部
  • @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { super.startElement(uri, localName, qName, attributes); if("book".equals(qName)) { /*已知book元素的屬性的名稱的情況下,可用此方法 String value = attributes.getValue("id"); System.out.println("book的屬性值是:" + value); */ bookIndex++; book = new Book(); System.out.println("=====開始遍歷第" + bookIndex + "本書====="); //不知book元素的屬性名的情況下,使用以下方法 int num = attributes.getLength(); for(int i=0; i<num; i++) { System.out.print("第"+(i+1)+"個屬性名是:"+attributes.getQName(i)); System.out.println("---屬性值是:" + attributes.getValue(i)); } } else if(!"bookstore".equals(qName)) { System.out.print("節點名是:" + qName); } }
    查看全部
  • package com.imooc.sax; import java.util.ArrayList; import java.util.List; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SAXParserHandler extends DefaultHandler { int bookIndex = 0; String value = null; Book book = null; List<Book> bookList = new ArrayList<Book>(); public List<Book> getBookList() { return bookList; }
    查看全部
  • package com.imooc.sax; public class Book { private String id; private String name; private int price; private String author; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } @Override public String toString() { return "id:" + id + "--name:" + name + "--price:" + price + "--author:" + author; } }
    查看全部
  • package com.imooc.sax; import java.io.IOException; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SAXTest { public static void main(String[] args) { SAXParserFactory factory = SAXParserFactory.newInstance(); try { SAXParser parser = factory.newSAXParser(); SAXParserHandler handler = new SAXParserHandler(); parser.parse("src\\bookstore.xml", handler); System.out.println("\n一共遍歷了" + handler.getBookList().size() + "本書"); for(Book b : handler.getBookList()) { System.out.println(b); } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
    查看全部
  • System.out.println("第"+(i+1)+"本書共有"+attrs.getLength()+"個屬性"); for(int j=0; j<attrs.getLength(); j++) { Node attr = attrs.item(j); System.out.println("屬性名" + attr.getNodeName()); System.out.println("屬性值" + attr.getNodeValue()); } //如果知道屬性名,可以使用Element對象 Element _book = (Element)booklist.item(i); String attrValue = _book.getAttribute("id"); System.out.println("使用Element對象得到的屬性值--" + attrValue); System.out.println("==================\n\n"); } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
    查看全部
  • package com.imooc.test; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class DOMTest { public static void main(String[] args) { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.parse("src\\bookstore.xml"); NodeList booklist = document.getElementsByTagName("book"); System.out.println("一共有" + booklist.getLength() + "本書"); for(int i=0; i<booklist.getLength(); i++) { System.out.println("=================="); Node book = booklist.item(i); NamedNodeMap attrs = book.getAttributes(); System.out.println("第"+(i+1)+"本書共有"+attrs.getLength()+"個屬性");
    查看全部
  • trim.() 去掉左右兩邊的空字符串
    查看全部
  • DOM 生成XML文件 DocumentBuilderFactory.newInstance() newDocumentBuilder();沒有空格 .parse(file)----document document.setXmlStandalone(true) 不需要dtd,schema的格式說明 document.createElement("");----Element對象 document.createTextNode("文本內容")---element.appendChild(textNode)添加文本內容 element.setTextContent("文本內容")等同于上面兩步 element.appendChild(element)..... 最后還要,document.appendChild(element); 創建轉化對象 TransformerFactory tff = TransformerFactory.newInstance(); tf = tff.newTransformer(); tf.setOutputProperty(OutputKeys.INDENT,"yes");是否換行,yes是 tf.transform(new DOMSource(document),new StreamResult(new File("book1.xml")));
    查看全部
  • //需要導入相應的包,jdom2包和dom4j包 JDOM解析 new SAXBuilder() .build(fileInputStream)------生成document,jdom2下的 document.getRootElement() jdom2包下,生成Element對象 getChildren()獲得的是ELEMENT的list集合; Element.getAttributes()獲得屬性集合Attribute的List, element.getName,getValue節點名,節點值。 attribute.getName,getValue()屬性名,屬性值 DOM4J解析 new SAXReader(); .read(file)----生成document對象,dom4j下的 document.getRootElement() root.elementIterator();dom4j下的 it.hasNext() (Element)it.Next();強制轉化 element.attributes()屬性集合,getName,getValue element.getName()節點名,getText或者getStringValue,節點值
    查看全部
  • DOM解析 DocumentBuilderFactory.newInstance() newDocumentBuilder(); db.parse("book.xml"); document.getElementsByTagName("book");--nodelist,booklist fore Node book= booklist.item(i) list-- book.getAttributes()-----attr.getNodeName() attr.getNodeValue() childs = book.getChildNodes(); child = childs.item(i)---if(child.nodeType==Node.ELEMENT_NODE) --child.getNodeName() child.getTextContent(); SAX解析 SAXParseFactory.newInstance(); newSAXParse(); .parse(File,SAXHandler)---SAXHandler extends DefaultHandler; handler 繼承五個方法 startDocument()開始解析--<?xml version="1.0" encoding=utf-8?> startElement(....) 解析節點和屬性,qName節點名,attribute屬性名 從一個節點開始解析。 characters(ch,start,length)解析節點值, value=new String(ch,start,length) !value.trim().equals(""),空文本不顯示。 endElement(...)根節點下的節點解析結束 endDocument() 結束解析。</...>
    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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