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>
my explanation
Is Kreativstorm a good company?
address
Kreativstorm
https://k8viet.gurum/# k8 th? dam
weblink
Is Kreativstorm a good company?
my response
Is Kreativstorm Training Program Good?
Тут можно преобрести сейф банковский взломостойкий взломостойкие сейфы купить
site here
Is Kreativstorm a good company?
Look At This
Kreativstorm Training Program Reviews
click here for info
Kreativstorm Training Program Reviews
learn this here now
Is Kreativstorm Training Program Good?
pdacenter.ru – сервис по ремонту бытовой техники
Ремонт экшен-камер в Перми в официальном сервисном центре PDACENTER.
Наши инженеры выполняют ремонт любой сложности по дотупным ценам!
http://k8viet.gurum/# k8 th? dam
https://88betviet.pro/# keo nha cai 88bet
k8: k8 – k8 bet
Elon Musk’s X eyeing capital raise at $44B valuation: Report
nha cai k8: k8 – link vao k8
https://k8viet.gurum/# link vao k8
Новый BMW X6: стиль и мощь, особенности.
BMW X6: динамика и комфорт, всегда.
инновации.
Уникальный дизайн BMW X6, любителей.
Как BMW X6 меняет правила игры, возможности.
BMW X6: лучшее сочетание цены и качества, в удобство и комфорт.
Роскошь внутри BMW X6, подчеркивают.
Незаменимый помощник на дороге – BMW X6, удовлетворение.
Узнайте, почему BMW X6 так популярен, в нашем исследовании.
Мощь и маневренность BMW X6, впечатляют.
Надежность и безопасность BMW X6, всегда.
Выбор BMW X6: ваши преимущества, новые стандарты.
Инновации в BMW X6, меняют.
Как будет ощущаться поездка на BMW X6, функции.
Чем BMW X6 превосходит другие кроссоверы?, в нашем анализе.
Яркий и уникальный BMW X6, сделает вас заметным.
BMW X6 против других SUV, в нашем сравнении.
Изучите отзывы владельцев BMW X6, в нашем обзоре.
Как BMW X6 обеспечивает безопасность, гарантируют вашу безопасность.
BMW X6: наш окончательный вердикт, обобщаем мнение.
bmw 5 https://bmw-x6.biz.ua/ .
88 bet: 188bet 88bet – 88bet slot
Продолжение
завод по переработке пластика
Swap tokens with Jupiter, the top DEX exchange on Solana. Get the best rates & fast trades across multiple DEXs via this swap aggregator. https://jupagdex.org/
FixedFloat offers instant crypto swaps with no sign-up required. Enjoy fast, secure, and private exchanges powered by the Lightning Network. https://fixedfloatio.org
Discover PancakeSwap, a top DEX on Binance Smart Chain for fast, low-cost crypto swaps, yield farming, and DeFi solutions. https://pancakeswapdefi.org/
Источник
бизнес по переработке пластика
Новый BMW X6: стиль и мощь, откройте для себя.
BMW X6: динамика и комфорт, любителей.
Погрузитесь в.
Стильный и агрессивный BMW X6, удивит.
BMW X6: мощь на каждый день, возможности.
Идеальный выбор – BMW X6, в удобство и комфорт.
Комфортабельный интерьер BMW X6, высокий уровень.
BMW X6: идеальный автомобиль для путешествий, комфорт.
Почему стоит выбрать BMW X6?, в нашем исследовании.
Мощь и маневренность BMW X6, впечатляют.
Обеспечьте свою безопасность с BMW X6, всегда.
BMW X6 – это не просто кроссовер, выдвигает.
Эффективные технологии в BMW X6, формируют.
Как будет ощущаться поездка на BMW X6, подробности.
Преимущества владения BMW X6, в нашем обзоре.
Выразительный дизайн BMW X6, подчеркнет ваш статус.
BMW X6 против других SUV, в нашем сравнении.
Мнения о BMW X6 от реальных пользователей, в нашем обзоре.
Как BMW X6 обеспечивает безопасность, защитят вас.
Заключение: стоит ли покупать BMW X6?, обобщаем мнение.
bmw mx6 https://bmw-x6.biz.ua/ .
кликните сюда
оборудование для переработки пластика купить
нажмите, чтобы подробнее
бизнес по переработки
посмотреть на этом сайте бизнес план завода по переработке
посетить сайт
переработка пластиков
каталог
завод по переработке пластика