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>
Узнайте, как безопасно купить диплом о высшем образовании
diplomasx24.ru/kupit-diplom-ekaterinbur
12 Companies Leading The Way In Upvc Windows
And Doors Repair Upvc Windows
buy gasex without prescription – cheap ashwagandha pills buy diabecon tablets
After going over a handful of the articles on your website, I truly appreciate your way of writing a blog. I book-marked it to my bookmark website list and will be checking back in the near future. Please visit my website as well and tell me what you think.
9 Things Your Parents Taught You About Veterans Disability Lawsuit veterans disability Lawsuit
Здравствуйте!
Где приобрести диплом специалиста?
Заказать диплом о высшем образовании.
share.psiterror.ru/2024/07/11/vash-shans-na-uspeh-diplom-bez-truda.html
The Unknown Benefits Of SEO Company UK best seo companies for small business;
Zita,
I love it whenever people get together and share views. Great blog, continue the good work.
Здравствуйте!
Мы можем предложить документы ВУЗов, расположенных в любом регионе РФ. Можно заказать качественно напечатанный диплом за любой год, указав подходящую специальность и оценки за все дисциплины. Документы делаются на “правильной” бумаге высшего качества. Это позволяет делать государственные дипломы, которые невозможно отличить от оригиналов. Они заверяются всеми необходимыми печатями и штампами.
chatclub.mn.co/posts/61838312
Добрый день!
Всё, что нужно знать о покупке аттестата о среднем образовании
http://www.mnogozip.ru/forum/user/23852
Окажем помощь!.
Привет!
Где приобрести диплом по нужной специальности?
Купить диплом о высшем образовании.
keros-mod.ru/index.php?/gallery/image/6-%D0%BE%D0%B3%D1%80%D0%BE%D0%BC%D0%BD%D1%8B%D0%B9-%D0%B0%D1%81%D1%81%D0%BE%D1%80%D1%82%D0%B8%D0%BC%D0%B5%D0%BD%D1%82-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2-%D0%B2-%D0%BF%D0%BE%D0%BF%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%BC-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5/
Военный адвокат Запорожье. Бесплатная консультация
военный адвокат Запорожье Хортицкой район
— это опытный специалист имеющий высшее юридическое образование, сдавший квалификационный государственный экзамен на право осуществления адвокатской деятельностью и специализирующийся в основном на военных делах
Вся правовая помощь военного адвоката осуществляется в индивидуальном порядке, грамотно, четко и в соответствии с действующими нормативно-правовыми актами.
Мы как военные юристы действуем не против органов Украины или министерства обороны, мы действуем во благо Украины — наших защитников и граждан Украины, которые попали в тяжелую жизненную ситуацию связанную с незнанием военного и действующего законодательства.
Поскольку, проявив патриотизм и чувство гражданской ответственности – став на защиту суверенитета страны, граждане участвующие и помогавшие в обороне после, становятся никому не нужными, особенно если военнослужащий стал инвалидом, потерял часть тела или конечность, и не может самостоятельно защитить свои права. Именно в таких ситуациях мы как военные адвокаты приходим на помощь, и добиваемся в установленном законом порядке справедливости, необходимых выплат, установление статуса, оформление пенсий, льгот и т.п.
Тоже касается, и получение отсрочки от мобилизации, когда например, безосновательно призывают сына у которого отец инвалид 2 группы, или мать прикованная из-за тяжелой болезни к постели, и требующая постороннего ухода. Это же относится и к военнослужащим, рапорта которых не регистрируются в канцелярии воинской части и полностью игнорируются, под прикрытием суеты боевых действий..
Именно в таких ситуациях, мы приходим на помощь и с помощью ЗАКОННЫХ методов правовой защиты, используя свой опыт полученный при ведении аналогичных военных дел добиваемся справедливости.
Привет!
Мы изготавливаем дипломы психологов, юристов, экономистов и прочих профессий по приятным тарифам.
onetable.world/read-blog/59803
https://itmoney4you.com/농협-올원-비상금-대출/
Добрый день!
Покупка диплома о среднем полном образовании: как избежать мошенничества?.
Заказать диплом ВУЗа.
doorspell.com/blogs/1063/%D0%9A%D0%B0%D0%BA-%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D0%BD%D0%B5%D0%B4%D0%BE%D1%80%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C-%D0%B4%D0%B8%D0%BF%D0%BB%D0%BE%D0%BC-%D0%B2-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD%D0%B5
Great blog you have here.. It’s difficult to find good quality writing like yours these days. I truly appreciate people like you! Take care!!
Pretty! This was an incredibly wonderful article. Thanks for providing this info.
Добрый день!
Приобрести документ университета можно в нашей компании в Москве.
diplomasx.com/kupit-diplom-voronezh
Хорошей учебы!
Добрый день!
Предлагаем документы ВУЗов, которые находятся на территории всей России. Можно приобрести диплом от любого заведения, за любой год, указав подходящую специальность и хорошие оценки за все дисциплины. Документы делаются на “правильной” бумаге самого высокого качества. Это дает возможность делать государственные дипломы, которые не отличить от оригиналов. Они заверяются необходимыми печатями и подписями.
Мы изготавливаем дипломы любой профессии по выгодным тарифам. Цена зависит от выбранной специальности, года получения и образовательного учреждения. Стараемся поддерживать для клиентов адекватную ценовую политику. Важно, чтобы документы были доступны для подавляющей массы граждан.
landik-diploms-srednee.ru/kupit-diplom-volgograd
Удачи!
Здравствуйте!
Где заказать диплом специалиста?
Заказать диплом о высшем образовании.
pdlspd.listbb.ru/viewtopic.php?f=3&t=462
After I originally commented I seem to have clicked on the -Notify me when new comments are added- checkbox and from now on whenever a comment is added I get 4 emails with the same comment. There has to be a way you can remove me from that service? Appreciate it.
Привет!
Полезная информация как официально купить диплом о высшем образовании
ozelim.org/sosyal/blogs/387/%D0%9D%D0%B0-%D1%87%D1%82%D0%BE-%D0%BA%D0%BE%D0%BD%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%BE-%D0%B2%D0%BD%D0%B8%D0%BC%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BE%D0%B1%D1%80%D0%B0%D1%89%D0%B0%D1%82%D1%8C-%D0%BF%D1%80%D0%B8-%D0%BF%D0%BE%D0%BA%D1%83%D0%BF%D0%BA%D0%B8-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2-%D0%B2-%D1%81%D0%B5%D1%82%D0%B8
Привет!
Заказать документ о получении высшего образования вы можете в нашей компании.
diplomasx24.ru/kupit-diplom-krasnoyarsk
Привет!
Мы предлагаем дипломы любой профессии по выгодным тарифам.
anglais.ru/category/other/commonmistakes/index.html
Oh my goodness! Amazing article dude! Thank you so much, However I am having troubles with your RSS. I don’t know why I can’t join it. Is there anybody else getting identical RSS problems? Anybody who knows the answer will you kindly respond? Thanx!!
Привет, друзья!
Где приобрести диплом специалиста?
Заказать диплом любого университета.
share.psiterror.ru/2024/07/04/kak-podyskat-proverennyy-magazin-s-bolshim-vyborom-diplomov.html
Здравствуйте!
Как получить диплом стоматолога быстро и официально
forum.vorchun.ru/viewtopic.php?f=2&t=253027
Окажем помощь!.
Добрый день!
Мы предлагаем документы ВУЗов, которые расположены в любом регионе России. Можно заказать качественный диплом за любой год, указав необходимую специальность и хорошие оценки за все дисциплины. Дипломы и аттестаты выпускаются на “правильной” бумаге высшего качества. Это дает возможность делать государственные дипломы, которые невозможно отличить от оригиналов. Они будут заверены всеми требуемыми печатями и подписями.
http://www.highpriceddatinguk.com/read-blog/2353
Good post. I learn something totally new and challenging on websites I stumbleupon every day. It’s always helpful to read content from other authors and use something from their sites.
Keyword Search Software 검색엔진최적화 seo (temtrack.com)