奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

java讀取解析xml文件實例

時間:2025-02-26 12:30:52 java語言 我要投稿
  • 相關推薦

java讀取解析xml文件實例

  如何在Java中讀取解析文件呢?下面小編為大家整理了java讀取解析xml文件實例,希望能幫到大家!

  讀取本地的xml文件,通過DOM進行解析,DOM解析的特點就是把整個xml文件裝載入內存中,形成一顆DOM樹形結構,樹結構是方便遍歷和和操縱。

  DOM解析的特性就是讀取xml文件轉換為 dom樹形結構,通過節點進行遍歷。

  這是W3c關于節點的概念

  如果xml中包含有大量的數據,由于dom一次性把xml裝入內存中的特性,所以dom不適合于包含大量數據的xml解析。當包含有大量xml的時候,用SAX進行解析比較節省內存。

  下面是一個運用DOM進行解析xml文件的例子:

  xml文件結構如下:

  <"1.0" encoding="ISO-8859-1">Giada De Laurentiis200530.00J K. Rowling200529.99James McGovern200349.99Erik T. Ray200339.95

  創建解析xml的類如下:

  package xml.dom;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class ReadXmlFile { public static void main(String[] args) { try{  File xmlFile = new File("src/resource/book.xml");  DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();  DocumentBuilder builder = builderFactory.newDocumentBuilder();  Document doc = builder.parse(xmlFile);  doc.getDocumentElement().normalize();  System.out.println("Root element: "+doc.getDocumentElement().getNodeName());  NodeList nList = doc.getElementsByTagName("book");  for(int i = 0 ; i<nList.getLength();i++){  Node node = nList.item(i);  System.out.println("Node name: "+ node.getNodeName()); Element ele = (Element)node;  System.out.println("----------------------------"); if(node.getNodeType() == Element.ELEMENT_NODE){  System.out.println("book category: "+ ele.getAttribute("category"));  System.out.println("title name: "+ ele.getElementsByTagName("title").item(0).getTextContent());  System.out.println("author name: "+ele.getElementsByTagName("author").item(0).getTextContent());  System.out.println("year :"+ele.getElementsByTagName("year").item(0).getTextContent());  System.out.println("price : "+ele.getElementsByTagName("price").item(0).getTextContent());  System.out.println("-------------------------");   }   }

  解析結果:

  Root element: bookstoreNode name: book----------------------------book category: cookingtitle name: Everyday Italianauthor name: Giada De Laurentiisyear :2005price : 30.00-------------------------Node name: book----------------------------book category: childrentitle name: Harry Potterauthor name: J K. Rowlingyear :2005price : 29.99-------------------------Node name: book----------------------------book category: webtitle name: XQuery Kick Startauthor name: James McGovernyear :2003price : 49.99-------------------------Node name: book----------------------------book category: webtitle name: Learning XMLauthor name: Erik T. Rayyear :2003price : 39.95-------------------------

  以上是通過name獲得對應的值,

  下面利用循環節點的方式輸出:

  循環節點輸出方式的代碼如下:

  package xml.dom;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.NamedNodeMap;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class ReadXmlFile2 { public static void main(String[] args) { try{  File xmlFile = new File("src/resource/book.xml");  DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();  DocumentBuilder builder = builderFactory.newDocumentBuilder();  Document doc = builder.parse(xmlFile);  doc.getDocumentElement().normalize();  System.out.println("Root element: "+doc.getDocumentElement().getNodeName());   if(doc.hasChildNodes()){  printNode(doc.getChildNodes()); } }catch(Exception e){ e.printStackTrace(); } } public static void printNode(NodeList nodeList){ System.out.println("------------------------"); // System.out.println(nodeList.getLength()); for(int i = 0; i<nodeList.getLength(); i++){ Node node = (Node)nodeList.item(i);  if(node.getNodeType() == Node.ELEMENT_NODE){ System.out.println("node name: "+node.getNodeName()); System.out.println("node value: "+node.getTextContent()); if(node.hasAttributes()){ NamedNodeMap nodeMap = node.getAttributes();  for(int j = 0; j < nodeMap.getLength() ; j++){  Node nodenew = nodeMap.item(j);  System.out.println("node name "+nodenew.getNodeName()); System.out.println("node value "+nodenew.getNodeValue()); } } if(node.hasChildNodes()){ printNode(node.getChildNodes()); } } } }}

  輸出結果如下:

  Root element: bookstore------------------------node name: bookstorenode value: Everyday Italian Giada De Laurentiis 2005 30.00 Harry Potter J K. Rowling 2005 29.99 XQuery Kick Start James McGovern 2003 49.99 Learning XML Erik T. Ray 2003 39.95 ------------------------node name: booknode value: Everyday Italian Giada De Laurentiis 2005 30.00 node name categorynode value cooking------------------------node name: titlenode value: Everyday Italiannode name langnode value en------------------------node name: authornode value: Giada De Laurentiis------------------------node name: yearnode value: 2005------------------------node name: pricenode value: 30.00------------------------node name: booknode value: Harry Potter J K. Rowling 2005 29.99 node name categorynode value children------------------------node name: titlenode value: Harry Potternode name langnode value en------------------------node name: authornode value: J K. Rowling------------------------node name: yearnode value: 2005------------------------node name: pricenode value: 29.99------------------------node name: booknode value: XQuery Kick Start James McGovern 2003 49.99 node name categorynode value web------------------------node name: titlenode value: XQuery Kick Startnode name langnode value en------------------------node name: authornode value: James McGovern------------------------node name: yearnode value: 2003------------------------node name: pricenode value: 49.99------------------------node name: booknode value: Learning XML Erik T. Ray 2003 39.95 node name categorynode value webnode name covernode value paperback------------------------node name: titlenode value: Learning XMLnode name langnode value en------------------------node name: authornode value: Erik T. Ray------------------------node name: yearnode value: 2003------------------------node name: pricenode value: 39.95------------------------

  關于節點的問題:

  Giada De Laurentiis200530.00

  對于 book應用:doc.getChildNodes() 得到一個NodeList其中NodeList的長度為9

  9個節點分別如下:

  title節點

  lang節點

  Everyday節點

  author節點

  Giada De Laurentiis節點

  year節點

  2005節點

  price節點

  30.00節點

【java讀取解析xml文件實例】相關文章:

Java高級:怎樣讀取和處理XML的配置文件05-15

java如何通過url讀取文件05-07

講述java讀取properties文件的方法08-13

Java的jar文件中讀取數據的方法04-13

從Java的jar文件中讀取數據的方法02-21

Java中如何高效的讀取大文件01-19

Java如何讀取文本文件07-06

從Java的jar文件中如何讀取數據的方法01-24

Java中Websocket使用實例解析08-11

主站蜘蛛池模板: 乐亭县| 固原市| 南靖县| 怀宁县| 乌鲁木齐县| 霍城县| 滨海县| 公安县| 太原市| 湖口县| 南宁市| 六枝特区| 张北县| 朝阳县| 龙游县| 双柏县| 盐山县| 苏尼特左旗| 南城县| 石城县| 桐庐县| 富阳市| 抚宁县| 洛川县| 陕西省| 亚东县| 玉林市| 鹤山市| 马鞍山市| 池州市| 梅河口市| 花莲市| 乌兰县| 江津市| 鄂州市| 建德市| 华亭县| 五华县| 海宁市| 芒康县| 阳谷县|