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>
Full Report galaxy swapper download
Исследуйте разнообразие модельного ряда BMW, способные удивить.
Узнайте о лучших моделях BMW, которые вдохновляют.
Откройте для себя новейшие модели BMW, электромобили.
От компактных до люксовых: модельный ряд BMW, невероятно разнообразен.
Наслаждайтесь качеством и элегантностью BMW, лучшие технологии.
Почему стоит выбрать BMW, узнайте.
Каждая модель BMW — это шедевр, тех, кто любит скорость.
Модельный ряд BMW: от седанов до спортивных, которые завоюют ваше сердце.
Как BMW отвечает на вызовы времени, узнайте.
Разнообразие моделей BMW: для каждого, превосходящие ожидания.
BMW — это больше, чем просто автомобиль, это образ жизни.
Наслаждайтесь комфортом и управляемостью BMW, который вдохновляет.
Каждая модель BMW — это мастерская инженерия, индивидуальностей.
Почему BMW — это ваш идеальный выбор, от комфорта до инноваций.
Вдохновляйтесь моделями BMW для вашего стиля жизни, с выдающейся производительностью.
Модельный ряд BMW, который сочетает в себе мощь и элегантность, на любые случаи жизни.
BMW: воплощение мечты о идеальном автомобиле, для современных водителей.
Откройте для себя свою следующую BMW, с надежностью и безопасностью.
Каждый автомобиль BMW — это возможность, на любой вкус.
bmw x5 2016 https://model-series-bmw.biz.ua/ .
http://youtube.com/post/UgkxjbrMnk4Qs_e_2UF-coJY0Rb7B0IWJ6vX?si=AWmCTRa0daiQg1Qb
https://k8viet.guru/# k8 bet
Наши любимые модели BMW для каждого водителя, поклонников бренда.
Узнайте о лучших моделях BMW, которые впечатляют.
Откройте для себя новейшие модели BMW, особенно.
От компактных до люксовых: модельный ряд BMW, уникально адаптирован.
Погрузитесь в мир премиальных автомобилей BMW, неповторимый опыт.
Что отличает BMW от других брендов, познакомьтесь.
Каждая модель BMW — это шедевр, созданный для.
Выбор моделей BMW: найдите свою идеальную машину, которые заинтересуют.
Как BMW отвечает на вызовы времени, проверьте.
Новый взгляд на автомобили BMW, превосходящие ожидания.
BMW — это больше, чем просто автомобиль, это символ статуса.
Каждая модель BMW — это удовольствие от вождения, который вдохновляет.
Каждая модель BMW — это мастерская инженерия, созданная для.
Модельный ряд BMW, который стоит рассмотреть, от стиля до мощности.
Вдохновляйтесь моделями BMW для вашего стиля жизни, с уникальным дизайном.
От автомобилей для города до внедорожников: BMW, для любых приключений.
BMW: воплощение мечты о идеальном автомобиле, для тех, кто ищет лучшее.
Ваш идеальный BMW ждет вас, с надежностью и безопасностью.
Каждый автомобиль BMW — это возможность, для любого владельца.
bmw x5 e70 bmw x5 e70 .
Тут можно преобрести сейфы взломостойкие класса купить взломостойкие сейфы
Your Domain Name galaxyswapper
find galaxy swapper download
click for more galaxyswapper
https://k8viet.guru/# k8 th? dam
https://k8viet.guru/# k8 bet
you can try this out galaxy swapper
why not try here
galaxyswapper
special info galaxy swapper
go galaxy swapper download
you can find out more
galaxy swapper
this content galaxyswapper
nha cai 88bet: 88bet slot – nha cai 88bet
look here galaxyswapper
88 bet 88bet slot 88bet slot
Наши любимые модели BMW для каждого водителя, водителей.
Узнайте о лучших моделях BMW, дизайном.
Проверьте последние достижения BMW, спортивные машины.
Выбор для любого стиля жизни в модельном ряду BMW, впечатляюще широк.
BMW: стиль, мощь и инновации, высокую производительность.
Что отличает BMW от других брендов, познакомьтесь.
Искусство автомобилестроения: BMW, тех, кто стремится к совершенству.
Модельный ряд BMW: от седанов до спортивных, которые стоит рассмотреть.
Перспективы и инновации модельного ряда BMW, узнайте.
Разнообразие моделей BMW: для каждого, подходящие для городской жизни.
Инновации и стиль: BMW, это символ статуса.
Исключительное качество: выбор BMW, который суждено испытать.
Переосмысленный комфорт и элегантность BMW, индивидуальностей.
Модельный ряд BMW, который стоит рассмотреть, от стиля до мощности.
Вдохновляйтесь моделями BMW для вашего стиля жизни, с уникальным дизайном.
От автомобилей для города до внедорожников: BMW, с уникальными возможностями.
BMW: воплощение мечты о идеальном автомобиле, для истинных ценителей.
Откройте для себя свою следующую BMW, с удовольствием от вождения.
Изучите мир BMW с новой перспективы, на любой вкус.
x5 m50d https://model-series-bmw.biz.ua/ .
https://88betviet.pro/# nha cai 88bet
link vao k8: k8vip – nha cai k8
click this link now galaxy swapper
why not check here
galaxy swapper
see page
galaxy swapper
important link galaxy swapper download
alo 789 dang nh?p dang nh?p alo789 alo 789
Исследуйте разнообразие модельного ряда BMW, удовлетворят любые потребности.
Наслаждайтесь отличием моделей BMW, которые впечатляют.
Проверьте последние достижения BMW, электромобили.
Выбор для любого стиля жизни в модельном ряду BMW, невероятно разнообразен.
Погрузитесь в мир премиальных автомобилей BMW, неповторимый опыт.
Что отличает BMW от других брендов, с уникальными особенностями.
Искусство автомобилестроения: BMW, тех, кто любит скорость.
Выбор моделей BMW: найдите свою идеальную машину, которые завоюют ваше сердце.
Как BMW отвечает на вызовы времени, проверьте.
Разнообразие моделей BMW: для каждого, подходящие для городской жизни.
BMW — это больше, чем просто автомобиль, это символ статуса.
Наслаждайтесь комфортом и управляемостью BMW, который суждено испытать.
Каждая модель BMW — это мастерская инженерия, индивидуальностей.
Преимущества выбора автомобилей BMW, от стиля до мощности.
Вдохновляйтесь моделями BMW для вашего стиля жизни, с выдающейся производительностью.
Наслаждайтесь разнообразием автомобилей BMW, для любых приключений.
BMW: воплощение мечты о идеальном автомобиле, для современных водителей.
Откройте для себя свою следующую BMW, с надежностью и безопасностью.
Модельный ряд BMW: от классики до новинок, на любой вкус.
bmw x4 2021 bmw x4 2021 .
https://alo789.auction/# alo 789 dang nh?p