您好,登錄后才能下訂單哦!
JDOM是一個開源項目,它基于樹型結構,利用純JAVA的技術對XML文檔實現解析、生成、序列化以及多種操作。
JDOM 直接為JAVA編程服務。它利用更為強有力的JAVA語言的諸多特性(方法重載、集合概念以及映射),把SAX和DOM的功能有效地結合起來。
Jdom是用Java語言讀、寫、操作XML的新API函數。Jason Hunter 和 Brett McLaughlin公開發布了它的1.0版本。在直覺、簡單和高效的前提下,這些API函數被最大限度的優化。在接下來的篇幅里將介紹怎么用Jdom去讀寫一個已經存在的XML文檔。
到官方網站下載JDOM包http://www.jdom.org/
注意的是,版本1和版本2的類路徑已經變更,如果你是更新使用版本2,則需要重新編譯你的代碼
package com.test; import java.io.FileOutputStream; import java.util.List; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import org.jdom2.output.Format; import org.jdom2.output.XMLOutputter; /** * @說明 JDom生成解析XML * @author cuisuqiang * @version 1.0 * @since */ @SuppressWarnings("unchecked") public class JDomDemo { public static void main(String[] args) { String file = "C:\\p.xml"; // 文件存放位置 JDomDemo dj = new JDomDemo(); dj.createXml(file); dj.parserXml(file); } /** * 生成XML * @param filePath 文件路徑 */ public void createXml(String fileName) { Element root = new Element("persons"); Document document = new Document(root); Element person = new Element("person"); root.addContent(person); Element name = new Element("name"); name.setText("java小強"); person.addContent(name); Element sex = new Element("sex"); sex.setText("man"); person.addContent(sex); Element age = new Element("age"); age.setText("23"); person.addContent(age); XMLOutputter XMLOut = new XMLOutputter(); try { Format f = Format.getPrettyFormat(); f.setEncoding("UTF-8");//default=UTF-8 XMLOut.setFormat(f); XMLOut.output(document, new FileOutputStream(fileName)); } catch (Exception e) { e.printStackTrace(); } } /** * 解析XML * @param filePath 文件路徑 */ public void parserXml(String fileName) { try { SAXBuilder builder = new SAXBuilder(); Document document = builder.build(fileName); Element root = document.getRootElement(); List persons = root.getChildren("person"); for (int i = 0; i < persons.size(); i++) { Element person = (Element) persons.get(i); List pros = person.getChildren(); for (int j = 0; j < pros.size(); j++) { Element element = (Element) pros.get(j); System.out.println(element.getName() + ":" + element.getValue()); } } } catch (Exception e) { e.printStackTrace(); } } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。