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>
Здесь можно сейфы для дома купить домашний сейф в интернет магазине
where to buy generic clomid no prescription: buy clomid tablets – where can i buy generic clomid without insurance
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт телефонов meizu сервис, можете посмотреть на сайте: ремонт телефонов meizu сервис
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали срочный ремонт телефонов poco, можете посмотреть на сайте: ремонт телефонов poco адреса
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
buy amoxicillin online mexico: Amox Star – amoxicillin 500mg capsule cost
Здесь можно сейфы домашние купить сейф в дом
prednisone 20mg online pharmacy Predni Best prednisone 1mg purchase
http://clomidonpharm.com/# cost of clomid
https://clomidonpharm.com/# clomid tablet
Зарабатывайте больше денег на onexbet, не выходя из дома.
onexbet – ваш шанс на богатство, всегда и везде.
Победные ставки с onexbet, самые выгодные коэффициенты.
Ощутите азарт игры с onexbet, и ваша жизнь никогда не будет прежней.
onexbet – доверие и надежность, для вас всегда в приоритете.
Хотите ли вы заработать крупные суммы? Вам нужен onexbet, – самый удачный выбор для вас.
onexbet – ваш надежный союзник в мире игры, который всегда придет на помощь.
С onexbet вы всегда на шаг впереди, достигайте своих целей с onexbet.
onexbet – это не просто игра, это образ жизни, которая помогает вам обогатиться.
Хотите больше возможностей для выигрыша? Обращайтесь на onexbet, и вы поймете, что удача всегда на вашей стороне.
onexbet – это не просто сайт ставок, это ваша дорога к богатству, о котором мечтали.
onexbet – это идеальное место для тех, кто ищет азарт и адреналин, но при этом ценит качество и надежность.
Лучшие коэффициенты и выигрыши на onexbet, все это предоставлено для вас.
Желаете больше азарта и адреналина? Попробуйте onexbet, и вы удивитесь своим результатам.
download one x bet apk https://arxbetdsrdg.com/ .
https://clomidonpharm.com/# buy cheap clomid without dr prescription
Зарабатывайте больше денег на onexbet, не отрываясь от компьютера.
onexbet – ваш шанс на богатство, даже в отпуске.
Спортивные ставки на onexbet, оптимальные шансы на победу.
Ощутите азарт игры с onexbet, и вы обязательно останетесь довольны.
onexbet – безопасность и конфиденциальность, для вас всегда в приоритете.
Хотите ли вы заработать крупные суммы? Вам нужен onexbet, – оптимальное решение в вашей ситуации.
onexbet – ваш лучший друг и помощник в мире ставок, который всегда придет на помощь.
Onexbet – ваш путь к вершине, достигайте своих целей с onexbet.
onexbet – это не просто игра, это образ жизни, которая помогает вам выразить себя.
Хотите больше возможностей для выигрыша? Обращайтесь на onexbet, и вы поймете, что все возможно.
onexbet – это не просто сайт ставок, это ваша дорога к богатству, о котором мечтали.
onexbet – это идеальное место для тех, кто ищет азарт и адреналин, но при этом ценит качество и надежность.
Доступ к самым популярным играм и событиям на onexbet, все это гарантировано для вас.
Готовы к новым достижениям? Начните с onexbet, и вы обязательно останетесь довольны.
NelsonHaywood NelsonHaywood .
ciprofloxacin over the counter: ciprofloxacin generic price – cipro pharmacy
prednisone brand name india: PredniBest – canadian online pharmacy prednisone
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт телефонов samsung, можете посмотреть на сайте: ремонт телефонов samsung в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт телефонов samsung сервис, можете посмотреть на сайте: срочный ремонт телефонов samsung
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Здесь можно сейфы для оружия москвакупить шкаф для ружья
amoxicillin buy no prescription: cost of amoxicillin 30 capsules – order amoxicillin online
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт телефонов samsung, можете посмотреть на сайте: ремонт телефонов samsung цены
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт телефонов nothing в москве, можете посмотреть на сайте: ремонт телефонов nothing
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
amoxicillin 500 tablet: order amoxicillin online no prescription – amoxicillin online without prescription
Здесь можно купить оружейные сейфысейф для оружия цена
buy cipro cheap ci pharm delivery buy cipro cheap
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали срочный ремонт телефонов nothing, можете посмотреть на сайте: ремонт телефонов nothing рядом
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Предлагаем услуги профессиональных инженеров офицальной мастерской.
Еслли вы искали ремонт телефонов samsung, можете посмотреть на сайте: ремонт телефонов samsung
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Здесь можно оружейные сейфы ценасейф оружейный доставка
Stuck squirrel wins 2024 Comedy Wildlife Photography award
Децентрализация
An image of a squirrel stuck in a tree has been named the overall winner of this year’s Nikon Comedy Wildlife Photography Awards, with a frog in a bubble and a bream chasing a bald eagle among the category winners.
“Stuck Squirrel” by Milko Marchetti was chosen as the winner from more than 9,000 entries, the highest number received in the competition’s 10-year history, the organizers said in a statement published Tuesday.
The team whittled the entries down to a selection of 45, which were then put to a judging panel that selected the overall winner as well as nine category winners.
Marchetti’s photo shows the moment a red squirrel is entering its hide in the trunk of a tree, with its legs at right angles to the trunk.
“I have taken many, many photographs of squirrels, in many situations over the years in Italy, but this one struck me as really funny and such a strange position, because it is that exact moment when the squirrel is detaching its back legs from the trunk to enter its hide,” Marchetti said in the statement.
“Whenever I show this image at the nature seminars at my local photography club, the audience always explode with raucous laughter, so I had to enter it!”
Stefan Maier, senior general manager of marketing at Nikon Europe, said he was thrilled to announce Marchetti’s win, adding that his image “brilliantly captures the playful and unpredictable moments that make nature so enchanting.”
get generic clomid no prescription cost of clomid without prescription clomid cost
http://amoxstar.com/# amoxicillin buy canada
http://cipharmdelivery.com/# п»їcipro generic