maven中使用dom4j解析、生成XML的簡易方法
此片文章主要寫一些關於如何在maven工程中使用dom4j來解析或生成XML的建議方法,實際可使用的寫法不僅限於如下所寫的樣例程式碼。此處進攻快速入手和提供思路使用。
首先配置pom.xml中的依賴的包
<dependencies> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>1.1.6</version> </dependency> </dependencies>
上述配置中jaxen的包主要在使用Xpath時會被用到。
需要解析的樣例XML檔案
<?xml version="1.0" encoding="UTF-8" ?> <resources> <product name="QQ"> <account id="123456789"> <nickname>qq-account-1</nickname> <password>qwe123qwe123</password> <level>56</level> </account> <account id="987654321"> <nickname>qq-account-2</nickname> <password>ios9ios9ios9</password> <level>12</level> </account> </product> <product name="Netease"> <account id="tom"> <password>pwdOfTom</password> <capacity>1024</capacity> </account> <account name="Jim"> <password>pwdOfJim</password> <capacity>2560</capacity> </account> </product> </resources>
解析的java類
測試類:package com.jeremy; import org.dom4j.*; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import org.dom4j.xpath.DefaultXPath; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * Created by jeremysong on 1/7/2016. */ public class DomParser { public static List<String> parseMethod1() throws DocumentException { List<String> result = new ArrayList<String>(); SAXReader reader = new SAXReader(); Document document = reader.read("E:\\IdeaProjects\\Example\\NetApp\\src\\main\\resources\\target.xml"); XPath xPath = new DefaultXPath("/resources/product[@name='QQ']/account[@id='987654321']/password"); List<Element> list = xPath.selectNodes(document.getRootElement()); for (Element element : list) { System.out.println(element.getTextTrim()); result.add(element.getTextTrim()); } return result; } public static List<String> parseMethod2() throws DocumentException { List<String> result = new ArrayList<String>(); SAXReader reader = new SAXReader(); Document document = reader.read("E:\\IdeaProjects\\Example\\NetApp\\src\\main\\resources\\target.xml"); List<Element> products = document.getRootElement().selectNodes("/resources/product"); Iterator iterator = products.iterator(); while (iterator.hasNext()) { Element product = (Element) iterator.next(); String name = product.attributeValue("name"); System.out.println(name); } return result; } public static void generate() { Document doc = DocumentHelper.createDocument(); Element root = doc.addElement("resources"); Element product = root.addElement("product"); product.addAttribute("name", "QQ"); Element account = product.addElement("account"); account.addAttribute("id", "123456789"); Element nickname = account.addElement("nickname"); nickname.setText("QQ-account-1"); Element password = account.addElement("password"); password.setText("123asd21qda"); Element level = account.addElement("level"); level.setText("56"); PrintWriter pWriter = null; XMLWriter xWriter = null; try { pWriter = new PrintWriter("E:\\IdeaProjects\\Example\\NetApp\\src\\main\\generate.xml"); xWriter = new XMLWriter(pWriter); xWriter.write(doc); } catch (Exception e) { e.printStackTrace(); } finally { try { xWriter.flush(); xWriter.close(); } catch (IOException e) { e.printStackTrace(); } } } }
import com.jeremy.DomParser;
import org.dom4j.DocumentException;
import org.junit.Test;
/**
* Created by jeremysong on 1/7/2016.
*/
public class TestDomParser
{
@Test
public void testParseMethod1() throws DocumentException
{
DomParser.parseMethod1();
}
@Test
public void testParseMethod2() throws DocumentException
{
DomParser.parseMethod2();
}
@Test
public void testGenerate()
{
DomParser.generate();
}
}
測試結果:
testParseMethod1執行結果
testParseMethod2執行結果
testGenerate執行結果
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<product name="QQ">
<account id="123456789">
<nickname>QQ-account-1</nickname>
<password>123asd21qda</password>
<level>56</level>
</account>
</product>
</resources>
相關推薦
maven中使用dom4j解析、生成XML的簡易方法
此片文章主要寫一些關於如何在maven工程中使用dom4j來解析或生成XML的建議方法,實際可使用的寫法不僅限於如下所寫的樣例程式碼。此處進攻快速入手和提供思路使用。 首先配置pom.xml中的依賴的包 <dependencies> &
dom4j解析和生成XML文檔
document xml dom4j 解析XML的兩種方法package cnslp.dom4j.com; import java.io.File; import java.util.Iterator; import org.dom4j.Attribute; import org.dom4j.D
Dom4j解析和生成XML文件
一、前言 dom4j是一套非常優秀的java開源api,主要用於讀寫xml文件,具有效能優異、功能強大、和非常方便使用的特點。 另外xml經常用於資料交換的載體,像呼叫webservice傳遞的引數,以及資料做同步操作等等, 所以使用dom4
DOM4j解析、修改、刪除、增加、保存XML的方法
exceptio set null 增加 gb2 itl str owin chang //XML文件 <?xml version="1.0" encoding="gb2312"?> <PhoneInfo> <Brand name="華為
Java之dom4j的簡單解析和生成xml的應用
util 讀寫 pro artifact gettext depend bject sta rgs 一、dom4j是一個Java的XML API,是jdom的升級品,用來讀寫XML文件的。dom4j是一個十分優秀的JavaXML API,具有性能優異、功能強大和極其易使
使用POI和dom4j來解析Excel生成Xml
工作中有時候我們需要使用Apache的POI來讀寫Excel檔案,而dom4j則用來解析或者生成Xml檔案,由於涉及到IO流,所以又使用了commons-io提供的IOUtils來關閉流。 需要的Jar包 一個應用POI和dom4j的簡單例子 im
Maven中的POM、倉庫、座標(maven4)
一、POM ①含義:project object model 專案物件模型 DOM:document 
Python中使用Flask、MongoDB搭建簡易圖片伺服器
轉載:http://www.cppcns.com/shujuku/mongodb/119378.html 這篇文章主要介紹了Python中使用Flask、MongoDB搭建簡易圖片伺服器,本文是一個詳細完整的教程,需要的朋友可以參考下 1、前期準備 通過 pip 或 easy_insta
PBDOM 解析和生成XML
1. PBDOM設定 1)新增pbdom120.pbd(%SYBASE%/Shared/PowerBuilder)到工程的pbl列表中 2) %SYBASE%/Shared/PowerBuilder應該在系統路徑或者應用程式的路徑中(也就是pbdom要使用此路徑下的pbdom
Qt 5讀取、解析、生成和儲存JSON檔案
專案中用到了一些JSON的東西,為了方便就做了一層簡單的封裝方便以後使用,包括了JSON的讀取、解析、生成和儲存這些基本功能 json.h檔案 #ifndef JSON_H #define JSON_H #include <QJsonArray> #include &l
maven中全域性配置檔案settings.xml及專案pom.xml的詳解完整版
maven中全域性配置檔案settings.xml及專案pom.xml的詳解 一、apache maven的簡介 Apache Maven,是一個軟體(特別是Java軟體)專案管理及自動構建工具,由Apache軟體基金會所提供。基於專案物件
maven中全域性配置檔案settings.xml及專案pom.xml的詳解3
(2) properties 作用:對應profile的擴充套件屬性列表。 maven屬性和ant中的屬性一樣,可以用來存放一些值。這些值可以在pom.xml中的任何地方使用標記${X}來使用,這裡X是指屬性的名稱。屬性有五種不同的形式,並且都能在se
Xml—dom4j解析以及寫入xml文件時的亂碼問題
book.xml <?xml version="1.0" encoding="UTF-8"?> <書架> <書> <書名>Java就業基礎教程</書名> <作者>張孝祥</作者
XQRCode 一個非常方便實用的二維碼掃描、解析、生成庫
XQRCode 一個非常方便實用的二維碼掃描、解析、生成庫 關於我 特點 支援快速整合條形碼、二維碼掃描功能。 支援自定義掃描介面。 支援生成帶圖示的二維碼。 支援生成帶背景圖片的複雜二維碼。 支援二維碼解析功能 1、
JAXB解析與生成XML
使用JAXB可以快速完成Java類到XML的對映,方便XML檔案的解析與生成。常用註解@XmlRootElement(name = "Country")將Java類或列舉型別對映成XML中根元素,設定name屬性的值可指定義根元素名稱,不設定則預設為型別首字母小寫的名稱。@X
Maven中整合Struts2、Spring3與Hibernate
利用Maven對專案進行管理,引入Jar包 首先引入Struts2相管理的jar包,Struts2安全的版本在2.15.1以上 <!-- struts2核心包 --> <dependency> <groupId>org.apa
Dom解析和生成XML文件
一、前言 Dom即檔案物件模型(Document Object Model),是W3C組織推薦的使用可擴充套件標記性語言的標準介面, 它主要用於讀寫xml文件,使用起來還是非常不錯的。 另外Dom將整個xml檔案對映成一個有層次的節點的結構,分別1級、2級到多級
Android 解析、修改xml檔案
一、DOM解析XML檔案 public static void main(String[] args) { File file = new File("d:\\WordChronos.xml"); DocumentBuilderFactory dbf =
ionic創建工程中遇到異常、錯誤及解決方法
右鍵 ive hub reac 個推 註意 code down 添加 1. 創建工程——download failed ionic start myApp tabs 遇到如下錯誤 Downloading--Failed! Error:Timeout of 25000m
關於如何在Python中使用靜態、類或抽象方法的權威指南
Python中方法的工作方式 方法是儲存在類屬性中的函式,你可以用下面這種方式宣告和訪問一個函式 >>> class Pizza(object): ... def __init__(self, size): ... self.size