最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 利用dom方式讀取、創(chuàng)建xml詳解及實例代碼

 更新時間:2017年03月15日 15:13:07   投稿:lqh  
這篇文章主要介紹了Java 利用dom方式讀取、創(chuàng)建xml的相關(guān)資料,需要的朋友可以參考下

Java 利用dom方式讀取、創(chuàng)建xml詳解

1.創(chuàng)建一個接口

XmlInterface.Java

public interface XmlInterface
 {
 
  /** 
  *
 建立XML文檔 
  *
 @param fileName 文件全路徑名稱 
  */
  public void createXml(String
 fileName); 
  /** 
  *
 解析XML文檔 
  *
 @param fileName 文件全路徑名稱 
  */
  public void parserXml(String
 fileName); 
}

接口實現(xiàn)

XmlImpl.java

package com.test.xml;
 
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
 
public class XmlImpl implements XmlInterface{
 private Document
 document;
 
 public void init()
 {
  try {
   DocumentBuilderFactory
 factory = DocumentBuilderFactory
     .newInstance();
   DocumentBuilder
 builder = factory.newDocumentBuilder();
   this.document
 = builder.newDocument();
  } catch (ParserConfigurationException
 e) {
   System.out.println(e.getMessage());
  }
 }
 
 public void createXml(String
 fileName) {
  Element
 root = this.document.createElement("scores"); 
  this.document.appendChild(root); 
  Element
 employee = this.document.createElement("employee"); 
  Element
 name = this.document.createElement("name"); 
  name.appendChild(this.document.createTextNode("wangchenyang")); 
  employee.appendChild(name); 
  Element
 sex = this.document.createElement("sex"); 
  sex.appendChild(this.document.createTextNode("m")); 
  employee.appendChild(sex); 
  Element
 age = this.document.createElement("age"); 
  age.appendChild(this.document.createTextNode("26")); 
  employee.appendChild(age); 
  root.appendChild(employee); 
  TransformerFactory
 tf = TransformerFactory.newInstance();
  try {
   Transformer
 transformer = tf.newTransformer();
   DOMSource
 source = new DOMSource(document);
   transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");
   transformer.setOutputProperty(OutputKeys.INDENT, "yes");
   PrintWriter
 pw = new PrintWriter(new FileOutputStream(fileName));
   StreamResult
 result = new StreamResult(pw);
   transformer.transform(source,
 result);
   System.out.println("生成XML文件成功!");
  } catch (TransformerConfigurationException
 e) {
   System.out.println(e.getMessage());
  } catch (IllegalArgumentException
 e) {
   System.out.println(e.getMessage());
  } catch (FileNotFoundException
 e) {
   System.out.println(e.getMessage());
  } catch (TransformerException
 e) {
   System.out.println(e.getMessage());
  }
 }
 
 public void parserXml(String
 fileName) {
  try {
   DocumentBuilderFactory
 dbf = DocumentBuilderFactory.newInstance();
   DocumentBuilder
 db = dbf.newDocumentBuilder();
   Document
 document = db.parse(fileName);
    
   NodeList
 employees = document.getChildNodes();
   for (int i
 = 0;
 i < employees.getLength(); i++) {
    Node
 employee = employees.item(i);
    NodeList
 employeeInfo = employee.getChildNodes();
    for (int j
 = 0;
 j < employeeInfo.getLength(); j++) {
     Node
 node = employeeInfo.item(j);
     NodeList
 employeeMeta = node.getChildNodes();
     for (int k
 = 0;
 k < employeeMeta.getLength(); k++) {
      System.out.println(employeeMeta.item(k).getNodeName()
        + ":" +
 employeeMeta.item(k).getTextContent());
     }
    }
   }
   System.out.println("解析完畢");
  } catch (FileNotFoundException
 e) {
   System.out.println(e.getMessage());
  } catch (ParserConfigurationException
 e) {
   System.out.println(e.getMessage());
  } catch (SAXException
 e) {
   System.out.println(e.getMessage());
  } catch (IOException
 e) {
   System.out.println(e.getMessage());
  }
 }
}

測試

public class Main
 {
 
 public static void main(String
 args[]){
  XmlImpl
 dd=new XmlImpl();
  String
 str="D:/grade.xml";
  dd.init();
  dd.createXml(str); //創(chuàng)建xml
  dd.parserXml(str); //讀取xml
 }
}

結(jié)果

生成xml

<?xml version="1.0" encoding="GB2312"?>
<scores>
<employee>
<name>wangchenyang</name>
<sex>m</sex>
<age>26</age>
</employee>
</scores>

讀取xml

生成XML文件成功!
#text:
 
name:wangchenyang
#text:
 
sex:m
#text:
 
age:26
#text:
 
解析完畢

感謝閱讀,希望能幫到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Java Socket通信之聊天室功能

    Java Socket通信之聊天室功能

    這篇文章主要為大家詳細介紹了Java Socket通信之聊天室功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Java向數(shù)據(jù)庫插入中文出現(xiàn)亂碼解決方案

    Java向數(shù)據(jù)庫插入中文出現(xiàn)亂碼解決方案

    這篇文章主要介紹了Java向數(shù)據(jù)庫插入中文出現(xiàn)亂碼解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 利用Java8 Optional類優(yōu)雅如何地解決空指針問題

    利用Java8 Optional類優(yōu)雅如何地解決空指針問題

    這篇文章主要給大家介紹了關(guān)于如何利用Java8 Optional類優(yōu)雅解決空指針問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Java servlet后端開發(fā)超詳細教程

    Java servlet后端開發(fā)超詳細教程

    Servlet指在服務器端執(zhí)行的一段Java代碼,可以接收用戶的請求和返回給用戶響應結(jié)果,下面這篇文章主要給大家介紹了關(guān)于Java.servlet生命周期的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • java實現(xiàn)圖的鄰接表存儲結(jié)構(gòu)的兩種方式及實例應用詳解

    java實現(xiàn)圖的鄰接表存儲結(jié)構(gòu)的兩種方式及實例應用詳解

    這篇文章主要介紹了java實現(xiàn)圖的鄰接表存儲結(jié)構(gòu)的兩種方式及實例應用詳解,鄰接表構(gòu)建圖是必須需要一個Graph對象,也就是圖對象!該對象包含屬性有:頂點數(shù)、邊數(shù)以及圖的頂點集合,需要的朋友可以參考下
    2019-06-06
  • SpringBoot項目實用功能之實現(xiàn)自定義參數(shù)解析器

    SpringBoot項目實用功能之實現(xiàn)自定義參數(shù)解析器

    這篇文章主要介紹了SpringBoot項目實用功能之實現(xiàn)自定義參數(shù)解析器,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 關(guān)于spring三級緩存的解讀

    關(guān)于spring三級緩存的解讀

    Spring三級緩存解決循環(huán)依賴、AOP和多線程問題,包括singletonObjects、earlySingletonObjects和singletonFactories三層緩存,通過不同方法獲取bean并解決這些問題
    2025-02-02
  • Spring Security基于數(shù)據(jù)庫實現(xiàn)認證過程解析

    Spring Security基于數(shù)據(jù)庫實現(xiàn)認證過程解析

    這篇文章主要介紹了Spring Security基于數(shù)據(jù)庫實現(xiàn)認證過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • SpringData?Redis的具體使用

    SpringData?Redis的具體使用

    本文主要介紹了SpringData?Redis的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-04-04
  • Spring類型轉(zhuǎn)換 ConversionSerivce Convertor解析

    Spring類型轉(zhuǎn)換 ConversionSerivce Convertor解析

    這篇文章主要介紹了Spring類型轉(zhuǎn)換 ConversionSerivce Convertor的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11

最新評論

呼伦贝尔市| 承德县| 曲水县| 穆棱市| 阆中市| 扶风县| 棋牌| 高雄市| 崇信县| 河间市| 山东省| 库车县| 醴陵市| 奉贤区| 沾化县| 双江| 金溪县| 丽水市| 平遥县| 奉节县| 辰溪县| 资兴市| 泰宁县| 区。| 吉木乃县| 岳池县| 黑河市| 甘德县| 贞丰县| 兴和县| 成安县| 三河市| 正蓝旗| 鹿泉市| 大丰市| 台东市| 儋州市| 咸丰县| 揭东县| 东安县| 金华市|