• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • xml--通過jdom解析及生產XML

    JDOM是一種使用 XML 的獨特 Java 工具包,用于快速開發 XML 應用程序。它的設計包含 Java 語言的語法乃至語義。
    JAXP (用于 XML 語法分析的 Java API)包含了三個軟件包
    –org.w3c.dom ,W3C 推薦的用于 XML 標準規劃文檔對象模型的 Java 工具
    –org.xml.sax ,用于對 XML 進行語法分析的事件驅動的簡單 API
    –javax.xml.parsers ,工廠化工具,允許應用程序開發人員獲得并配置特殊的語法分析器工具. JDOM 能夠替換 org.w3c.dom 軟件包來有計劃地操作 XML 文檔

    JDOM是一個開源項目,它基于樹型結構,利用純JAVA的技術對XML文檔實現解析、生成、序列化以及多種操作。
    JDOM 直接為JAVA編程服務。它利用更為強有力的JAVA語言的諸多特性(方法重載、集合概念等),把SAX和DOM的功能有效地結合起來。
    JDOM是用Java語言讀、寫、操作XML的新API函數。在直接、簡單和高效的前提下,這些API函數被最大限度的優化。

    JDOM 主要用來彌補DOM及SAX在實際應用當中的不足之處。這些不足之處主要在于SAX沒有文檔修改、隨機訪問以及輸出的功能,而對于DOM來說,JAVA程序員在使用時來用起來總覺得不太方便

     

    jdom官方網站http://www.jdom.org/,目前最新包為:JDOM2.0.5.

     

    例子:

    package com.jdom;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.util.List;
    
    import org.jdom2.Attribute;
    import org.jdom2.Document;
    import org.jdom2.Element;
    import org.jdom2.input.SAXBuilder;
    import org.jdom2.output.Format;
    import org.jdom2.output.XMLOutputter;
    
    public class JDomTest2 {
    	public static void main(String[] args) throws Exception {
    		SAXBuilder builder = new SAXBuilder();
    
    		Document doc = builder.build(new File("student.xml"));
    
    		Element element = doc.getRootElement();
    
    		System.out.println(element.getName());
    		// 獲取第一個
    		Element hello = element.getChild("學生");
    
    		System.out.println(hello.getText());
    
    		List<Element> els = element.getChildren();
    		for (Element el : els) {
    			List elList = el.getAttributes();
    			for (int i = 0; i < elList.size(); i++) {
    				Attribute attr = (Attribute) elList.get(i);
    
    				String attrName = attr.getName();
    				String attrValue = attr.getValue();
    
    				System.out.println(attrName + "=" + attrValue);
    			}
    			System.out.println("姓名:" + el.getChildText("姓名"));
    			System.out.println("性別:" + el.getChildText("性別"));
    			System.out.println("年齡" + el.getChildText("年齡"));
    			System.out.println("===============");
    		}
    
    		//可以對XML進行編輯
    		Element addEl = new Element("學生");
    		Attribute attr = new Attribute("學號", "4");
    		
    		Element addEl01 = new Element("姓名");
    		addEl01.setText("我愛羅");
    		addEl.addContent(addEl01);
    		Element addEl02 = new Element("性別");
    		addEl02.setText("男");
    		addEl.addContent(addEl02);
    		
    		addEl.setAttribute(attr);
    		element.addContent(addEl);
    		
    		XMLOutputter out = new XMLOutputter(Format.getPrettyFormat());
    
    		out.output(doc, new FileOutputStream("student2.xml"));
    
    	}
    }
    

     

    1、首先讀取XML文件。

     

    2、獲取根節點,并取得根節點下的子節點,詳見截圖。

     

    3、輸出XML文件各個節點的值,詳見截圖。


    4、通過JDOM可以編進XML,并生成新的XML,詳見截圖。

     

    附XML:

    <?xml version="1.0" encoding="utf-8"?>
    <學生名冊 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="student.xsd" >
    	<學生 學號="1">
    		<姓名>張三</姓名>
    		<性別>男</性別>
    		<年齡>20</年齡>
    	</學生>
    	<學生 學號="2">
    		<姓名>李四</姓名>
    		<性別>女</性別>
    		<年齡>19</年齡>
    	</學生>
    	<學生 學號="3">
    		<姓名>王五</姓名>
    		<性別>男</性別>
    		<年齡>21</年齡>
    	</學生>
    </學生名冊>
    

     

    版權聲明:本文為weixin_30861459原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_30861459/article/details/94986159

    智能推薦

    XML--jdom/dom4j/sax解析XML文件

    XML 1.XML(extensible markup language ):可擴展標記語言。 2.XML特點是,標簽可以由用戶自己隨意擴展。比如,html中標簽如何寫,屬性如何寫,屬性值如何寫,都是有規范的(w3c規定的)。但是在xml文件中,標簽沒有規范,可以隨意擴展。 3.XML文件有兩個作用: (1)做其它技術的配置文件: (2)在不同語言環境下交換數據: 中國人–>中國...

    【XML】java解析XML(通過Jsoup實現)

    【XML】java解析XML(通過Jsoup實現) 1. 解析 2. Jsoup 1. 解析 解析:操作xml文檔,將文檔中的數據讀取到內存中 操作xml文檔 1. 解析(讀取):將文檔中的數據讀取到內存中 2. 寫入:將內存中的數據保存到xml文檔中。持久化的存儲 解析xml的方式: 1. DOM:將標記語言文檔一次性加載進內存,在內存中形成一顆dom樹 * 優點:操作方便,可以對文檔進行CRU...

    XML解析及jaxp

    XML的解析簡介: 先來做個對比,HTML是標記性語言,js通過dom解析HTML時,根據HTML的層級結構,在內存中分配了一個實行結構,把HTML的標簽文本等都封裝成了對象進行操作,那么同為標記性文檔的XML也使用了同樣的原理 XML的解析技術:dom 和 sax 下面圖片解釋 對應的樹形結構為 dom 解析與 sax解析的對比 解析XML文件的前提是,必須要有解析器 主要有下面三個 sun公司...

    通過DOM方式解析xml

    簡述:XML 指可擴展標記語言(eXtensible Markup Language)。 XML 被設計用來傳輸和存儲數據。 XML 很重要,也很容易學習。 什么是xml? XML 指可擴展標記語言(EXtensible Markup Language)。 XML 是一種很像HTML的標記語言。 XML 的設計宗旨是傳輸數據,而不是顯示數據。 XML 標簽沒有被預定義。您需要自行定義標簽。 XML...

    java中以JDOM4的方式來對xml文件對象進行解析操作

    要進行解析的xml文件對象 源代碼: 運行結果:...

    猜你喜歡

    java中以JDOM方式來對xml文件進行解析操作

    要被解析的xml文件對象 源代碼: 程序的運行結果:...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡