Java針對XML檔案的操作大集合
XML是工作上常用到的資料交換格式,會需要利用JAVA進行XML資料的新增、修改或刪除,這裡把相關的方法記錄下來。
下述範例會存取在C:\Projects\Javas\中的sample.xml檔,而檔案中已經有以下的內容:
<?xml version="1.0" encoding="utf-8"?> <root> <item> <productID>10001</productID> <productName>產品名稱1</productName> <productPrice>10</productPrice> </item> <item> <productID>10002</productID> <productName>產品名稱2</productName> <productPrice>20</productPrice> </item> <item> <productID>10003</productID> <productName>產品名稱3</productName> <productPrice>30</productPrice> </item> </root>
利用Java存取XML我選用的Library是dom4j,可參考官網的介紹,以下是JAVA存取的程式範例:
package CDIT.stanley; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Iterator; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class dom4jXMLFullSample { //新增XML Node內容 public static String XMLAppendNode(String xmlFilePath, String productID, String productName, String productPrice){ String appendStatus = "0"; try { SAXReader reader = new SAXReader(); Document document = reader.read(xmlFilePath); Element root = document.getRootElement(); Element item = root.addElement("item"); item.addElement("productID").setText(productID); item.addElement("productName").setText(productName); item.addElement("productPrice").setText(productPrice); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter writer = new XMLWriter(new FileOutputStream(xmlFilePath),format); writer.write(document); writer.close(); appendStatus = "1"; } catch (DocumentException e) { return appendStatus; } catch (UnsupportedEncodingException e) { return appendStatus; } catch (FileNotFoundException e) { return appendStatus; } catch (IOException e) { return appendStatus; } return appendStatus; } //修改XML Node內容 public static String XMLChangeNodeValue(String xmlFilePath, String productID, String productName, String productPrice){ String updateStatus = "0"; try { SAXReader reader = new SAXReader(); Document document = reader.read(xmlFilePath); Element root = document.getRootElement(); @SuppressWarnings("rawtypes") Iterator it = root.elementIterator(); while (it.hasNext()) { Element element = (Element) it.next(); if(productID.equals(element.elementText("productID"))){ try { element.element("productName").setText(productName); element.element("productPrice").setText(productPrice); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter writer = new XMLWriter(new FileOutputStream(xmlFilePath),format); writer.write(document); writer.close(); updateStatus = "1"; } catch (IOException e) { return updateStatus; } } } return updateStatus; } catch (DocumentException e) { return updateStatus; } } //刪除XML Node public static String XMLRemoveNode(String xmlFilePath , String productID){ String removeStatus = "0"; try { SAXReader reader = new SAXReader(); Document document = reader.read(xmlFilePath); Element root = document.getRootElement(); @SuppressWarnings("rawtypes") Iterator it = root.elementIterator(); while (it.hasNext()) { Element element = (Element) it.next(); if(productID.equals(element.elementText("productID"))){ try { element.element("item"); element.detach(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8"); XMLWriter writer = new XMLWriter(new FileOutputStream(xmlFilePath),format); writer.write(document); writer.close(); removeStatus = "1"; } catch (IOException e) { return removeStatus; } } } return removeStatus; } catch (DocumentException e) { return removeStatus; } } public static void main (String[] args){ String xmlFilePath = "C:\\Projects\\Javas\\sample.xml"; //新增 XMLAppendNode(xmlFilePath , "10004", "產品名稱4", "40"); //修改 XMLChangeNodeValue (xmlFilePath , "10001", "測試修改", "100"); //刪除 XMLRemoveNode (xmlFilePath , "10002"); } }
上述程式進行完後,會將原本的XML檔變成如下的內容:
<?xml version="1.0" encoding="utf-8"?> <root> <item> <productID>10001</productID> <productName>測試修改</productName> <productPrice>100</productPrice> </item> <item> <productID>10003</productID> <productName>產品名稱3</productName> <productPrice>30</productPrice> </item> <item> <productID>10004</productID> <productName>產品名稱4</productName> <productPrice>40</productPrice> </item> </root>
kamagra 100mg prix Kamagra pharmacie en ligne Kamagra pharmacie en ligne
Kamagra Oral Jelly pas cher: achat kamagra – Kamagra pharmacie en ligne
Шторы для коттеджа своими руками
шторы для коттеджа шторы для коттеджа .
rmsog6
https://pharmafst.shop/# pharmacie en ligne france fiable
Acheter Cialis: Acheter Cialis – Cialis generique prix tadalmed.shop
Индивидуальный пошив штор, профессиональный пошив штор..
Идеальные шторы на заказ, с гарантией качества..
Эксклюзивные решения в пошиве штор, с использованием лучших тканей..
Дизайнерские шторы на заказ, закажите онлайн..
Профессиональный пошив штор с монтажом, под ключ..
Лучшие ткани для пошива штор, гарантия качества..
Дизайнерские шторы на любой интерьер, Обратитесь сегодня..
Пошив штор на заказ, от ведущих мастеров..
Пошив штор из эксклюзивных тканей, по индивидуальному проекту..
Выберите качественный пошив штор, звоните прямо сейчас..
Пошив штор высокого качества, по вашему дизайну..
Премиум пошив штор для интерьера, по индивидуальному дизайну..
Индивидуальный стиль ваших окон, под ключ..
Индивидуальный дизайн штор, с индивидуальным подходом..
Пошив штор для любого помещения, подчеркивающих ваш стиль..
Профессиональный пошив штор, от лучших мастеров..
Пошив штор по вашим пожеланиям, от замеров до монтажа..
пошив штор пошив штор . “Ткацкий”
Pharmacie en ligne Cialis sans ordonnance Cialis en ligne cialis prix tadalmed.com
pharmacie en ligne france fiable: pharmacie en ligne – pharmacie en ligne france livraison internationale pharmafst.com
https://tadalmed.shop/# Cialis generique prix
https://t.me/s/Top_Spisok_Game/166
Achat mГ©dicament en ligne fiable: Pharmacies en ligne certifiees – pharmacie en ligne pas cher pharmafst.com
Kamagra Oral Jelly pas cher Kamagra Oral Jelly pas cher kamagra livraison 24h
cialis sans ordonnance: cialis generique – Acheter Viagra Cialis sans ordonnance tadalmed.shop
Персонализированные шторы по лучшим ценам
сшить шторы на заказ сшить шторы на заказ . “Ткацкий”
https://tadalmed.com/# Acheter Cialis 20 mg pas cher
kamagra 100mg prix: Achetez vos kamagra medicaments – Achetez vos kamagra medicaments
п»їpharmacie en ligne france pharmacie en ligne pharmacie en ligne pharmafst.shop
kamagra gel: Achetez vos kamagra medicaments – kamagra livraison 24h
http://tadalmed.com/# Cialis sans ordonnance 24h
Cialis sans ordonnance pas cher: Achat Cialis en ligne fiable – Cialis sans ordonnance 24h tadalmed.shop
Умные деревянные жалюзи с электроприводом
Деревянные горизонтальные жалюзи с электроприводом Деревянные горизонтальные жалюзи с электроприводом . Prokarniz
Спортивная фармакология – Анаболики, Pharmacom labs
Kamagra pharmacie en ligne kamagra livraison 24h kamagra en ligne
Закажите шторы на любую комнату
сшить шторы на заказ сшить шторы на заказ . Ткацкий
Cialis sans ordonnance pas cher: Tadalafil 20 mg prix sans ordonnance – cialis generique tadalmed.shop
посетить веб-сайт читайте тут
выберите ресурсы черная футболка оверсайз
Оснащение лесной техники – Обмануть Платон, Контроль температуры
Читать далее Altcoin обменник