-
DOM4J解析xml //解析books.xml文件 //創建SAXReader的對象reader SAXReader reader = new SAXReader(); try {//通過reader對象的read方法加載books.xml文件,獲取document對象 Document document = reader.read(new File("books.xml")); //通過document對象,獲取根節點bookStore Element bookStore = document.getRootElement(); //通過element對象的elementIterator方法獲取迭代器 Iterator it = bookStore.elementIterator(); //遍歷迭代器,獲取根節點中的信息 while (it.hasNext()) { System.out.println("開始遍歷"); Element book = (Element) it.next(); //獲取Book的屬性名和屬性值 List<Attribute> bookAttrs = book.attributes(); for (Attribute attr : bookAttrs) { System.out.println("節點名" + attr.getName() + "節點值" + attr.getValue()); } System.out.println("結束遍歷"); } } catch (DocumentException e) { e.printStackTrace(); }查看全部
-
通過startElement和endElement方法來標志進行節點本身屬性的開始與結束讀取 通過startDocument和endDocument方法來標志對XML文件的開始與結束讀取 通過characters方法來進行對節點本身內容的讀取查看全部
-
使用characters()方法獲取節點值:String value = new String(ch,start,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)); } }查看全部
-
SAX方式解析xml準備步驟查看全部
-
1.空白和換行也當做子節點 2.childNodes.item(k)代表個第K個子節點 解析節點名與值: 1、獲取節點集合:元素.getChildNodes(); 2、獲取所有節點名:遍歷節點集合,節點.getNodeName() 3、獲取節點值:節點.getFirstChild().getNodeValue()或節點.getTextContent() 獲取節點之間的值有兩種方法: getFirstChild().getNodeValue();獲取節點下第一個子節點,并取得其中的內容。如果第一個子節點還是一個包含內容的節點,則會獲取到null,如果是文字,則會直接顯示出來 getTextContent();直接獲取節點下的所有內容,無論其是節點還是文本,一律將其中的文本和節點中的文本顯示出來查看全部
-
常用的節點類型 已經知道標簽節點中有且只有1個id屬性 //前提:已經知道book節點有且只能有1個id屬性 // //將book節點進行強制類型轉換,轉換成Element類型 // Element book = (Element) bookList.item(i); // //通過getAttribute("id")方法獲取屬性值 // String attrValue = book.getAttribute("id"); // System.out.println("id屬性的屬性值為" + attrValue); ----------------------------------------------------------------- 不知道標簽中有多少個id屬性的時候 //解析book節點的子節點 NodeList childNodes = book.getChildNodes(); //遍歷childNodes獲取每個節點的節點名和節點值(這里省略了一個for循環遍歷) System.out.println("第" + (i + 1) + "本書共有" + childNodes.getLength() + "個子節點");查看全部
-
DOM方式解析xml步驟 - 準備工作查看全部
-
解析xml文件 - 在Java程序中讀取xml文件的過程 解析目的 - 獲取節點名,節點值,屬性名,屬性值 Dom和SAX解析 - 官方提供的解析方式,不需要額外jar包 Dom4j和Jdom需要導入額外的jar包查看全部
-
java程序中解析XML文件的方法:DOM,SAX,DOM4J,JDOM查看全部
-
XML文件用來存儲數據和傳輸數據,不同系統、不同軟件、不同平臺間通信使用xml文件。查看全部
-
學習:第二章 2-2查看全部
-
記錄: 創建.xml文件時,記得保存類型為“UTF-8”;與.xml文件設置的一致。查看全部
-
常用節點類型查看全部
-
在代碼遷移過程中,會存在jar等引入的包丟失的情況。 所以在我們引入包的時候,最好的方法是在工程下創建libs的文件夾,將需要導入的包復制粘貼大文件夾下,在進行導入,此時進行工程遷移時,就不用擔心jar丟失的問題查看全部
舉報
0/150
提交
取消