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>
medication from mexico pharmacy buying prescription drugs in mexico medication from mexico pharmacy
В нашем обществе, где диплом является началом успешной карьеры в любом направлении, многие ищут максимально быстрый и простой путь получения образования. Необходимость наличия официального документа трудно переоценить. Ведь диплом открывает дверь перед любым человеком, который стремится начать профессиональную деятельность или продолжить обучение в ВУЗе.
Мы предлагаем быстро получить этот важный документ. Вы имеете возможность купить диплом, и это является отличным решением для человека, который не смог завершить образование, утратил документ или хочет исправить свои оценки. Каждый диплом изготавливается с особой тщательностью, вниманием ко всем деталям, чтобы в итоге получился продукт, максимально соответствующий оригиналу.
Превосходство этого подхода заключается не только в том, что вы сможете максимально быстро получить диплом. Процесс организовывается удобно, с нашей поддержкой. Начиная от выбора необходимого образца до грамотного заполнения персональных данных и доставки в любое место России — все под абсолютным контролем качественных мастеров.
Всем, кто хочет найти оперативный способ получения требуемого документа, наша компания предлагает выгодное решение. Заказать диплом – значит избежать длительного процесса обучения и не теряя времени перейти к своим целям, будь то поступление в ВУЗ или старт карьеры.
http://russa24-attestats.com
mexican pharmacy: mexican online pharmacies prescription drugs – mexican rx online
brand cialis wait – zhewitra sword penisole discovery
mexican border pharmacies shipping to usa: mexican pharmacy – mexico drug stores pharmacies
https://mexicanpharmacy1st.com/# mexican online pharmacies prescription drugs
buying from online mexican pharmacy: mexico drug stores pharmacies – mexico drug stores pharmacies
medicine in mexico pharmacies: mexican pharmaceuticals online – mexico drug stores pharmacies
https://mexicanpharmacy1st.com/# mexico pharmacy
https://mexicanpharmacy1st.com/# mexico drug stores pharmacies
pharmacies in mexico that ship to usa: п»їbest mexican online pharmacies – mexican drugstore online
https://mexicanpharmacy1st.online/# mexican pharmaceuticals online
mexican online pharmacies prescription drugs mexican drugstore online mexican drugstore online
mexico pharmacy mexican online pharmacies prescription drugs mexican pharmaceuticals online
https://mexicanpharmacy1st.online/# pharmacies in mexico that ship to usa
В нашем мире, где диплом является началом отличной карьеры в любом направлении, многие пытаются найти максимально простой путь получения качественного образования. Наличие документа об образовании трудно переоценить. Ведь диплом открывает дверь перед людьми, стремящимися вступить в профессиональное сообщество или продолжить обучение в ВУЗе.
В данном контексте мы предлагаем оперативно получить любой необходимый документ. Вы сможете купить диплом, и это является отличным решением для всех, кто не смог завершить образование, утратил документ или хочет исправить свои оценки. Каждый диплом изготавливается аккуратно, с особым вниманием ко всем элементам. В результате вы получите 100% оригинальный документ.
Превосходство этого решения состоит не только в том, что можно оперативно получить свой диплом. Весь процесс организован удобно, с профессиональной поддержкой. Начиная от выбора подходящего образца документа до консультации по заполнению личных данных и доставки по стране — все будет находиться под абсолютным контролем опытных мастеров.
Для тех, кто ищет максимально быстрый способ получения необходимого документа, наша компания предлагает отличное решение. Купить диплом – это значит избежать долгого процесса обучения и сразу перейти к своим целям: к поступлению в ВУЗ или к началу успешной карьеры.
vuzdiploma.ru
В нашем обществе, где диплом – это начало удачной карьеры в любой сфере, многие ищут максимально быстрый и простой путь получения качественного образования. Факт наличия документа об образовании трудно переоценить. Ведь именно диплом открывает двери перед всеми, кто собирается начать профессиональную деятельность или продолжить обучение в университете.
В данном контексте мы предлагаем быстро получить этот важный документ. Вы имеете возможность заказать диплом, и это является удачным решением для всех, кто не смог закончить обучение, потерял документ или желает исправить плохие оценки. дипломы изготавливаются с особой тщательностью, вниманием ко всем элементам, чтобы в итоге получился 100% оригинальный документ.
Плюсы подобного решения заключаются не только в том, что вы сможете оперативно получить диплом. Весь процесс организовывается комфортно, с профессиональной поддержкой. От выбора требуемого образца документа до правильного заполнения личной информации и доставки по России — все находится под полным контролем качественных специалистов.
Для тех, кто хочет найти максимально быстрый способ получения необходимого документа, наша компания предлагает отличное решение. Заказать диплом – значит избежать длительного процесса обучения и не теряя времени переходить к личным целям: к поступлению в университет или к началу удачной карьеры.
http://man-attestats24.com
best online pharmacies in mexico: mexico pharmacy – mexican pharmacy
mexican online pharmacies prescription drugs: reputable mexican pharmacies online – medicine in mexico pharmacies
http://mexicanpharmacy1st.com/# pharmacies in mexico that ship to usa
mexican pharmacy: buying prescription drugs in mexico online – buying from online mexican pharmacy
medication from mexico pharmacy: pharmacies in mexico that ship to usa – mexican online pharmacies prescription drugs
https://mexicanpharmacy1st.com/# buying prescription drugs in mexico online
http://mexicanpharmacy1st.com/# mexico pharmacies prescription drugs
http://mexicanpharmacy1st.com/# mexico pharmacies prescription drugs
buying from online mexican pharmacy buying from online mexican pharmacy mexico drug stores pharmacies
buying prescription drugs in mexico online mexico drug stores pharmacies mexican online pharmacies prescription drugs
mexican drugstore online mexico pharmacies prescription drugs medicine in mexico pharmacies
mexico pharmacies prescription drugs: mexican drugstore online – mexican pharmaceuticals online
whoah this blog is excellent i really like reading your posts. Keep up the great work! You realize, many persons are hunting around for this info, you can aid them greatly.
http://server-attestats.com