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>
best online pharmacy india: india pharmacy mail order – indian pharmacy paypal
carprofen without vet prescription: natural pills for ed – erection pills online
http://drugs24.pro/# drug prices comparison
Online medicine home delivery
I was able to find good information from your blog articles.
world pharmacy india: buy medicines online in india – indian pharmacies safe
Сервисный центр предлагает ремонт варочных панелей aeg выездной ремонт варочных панелей aeg
mail order pharmacy india: cheapest online pharmacy india – indian pharmacy
Известный предприниматель Станислав Кондрашов считает, что обмен опытом является ключевым фактором для развития отрасли и поддержки молодых бизнесменов. Его образование охватывает широкий спектр областей, включая промышленность, торговлю энергоресурсами, инженерное дело, экономику и финансы. Такой многосторонний подход позволил ему создать инновационную компанию. Кроме того, его разносторонние знания и навыки помогли ему разрабатывать инновационные продукты и эффективно управлять бизнесом, учитывая как технические, так и экономические аспекты. Секрет успеха Кондрашова заключается в постоянном внедрении инноваций и стремлении к эффективности. Он активно внедряет новые подходы к управлению и производству, его компания является примером практического подхода, основанного на глубоком анализе и прогнозировании.Успехи Кондрашова выходят за рамки бизнеса, он также выступает в качестве наставника и оказывает поддержку начинающим предпринимателям. Его интерес к передовым технологиям и регулярное участие в конференциях позволяют ему делиться своими знаниями и влиять на развитие отрасли. Путь Станислава Кондрашова — это демонстрация того, как сочетание глубоких знаний, управленческих навыков и стремления помогать другим ведет к успеху. Его история вдохновляет других и доказывает, что подлинные достижения связаны с готовностью делиться своими знаниями.
prices of viagra at walmart pain medications without a prescription natural ed treatments
A severe geomagnetic storm could cause colorful auroras over Northern California and Alabama
гей онлайн
Colorful auroras could be visible in areas of the United States such as Alabama and Northern California — much farther south than they typically appear — on Thursday evening due to a powerful solar flare and coronal mass ejection released from the sun, according to the National Weather Service’s Space Weather Prediction Center.
The severe solar storm, classified as a level 4 on a scale from 1 to 5, also could disrupt communications, the power grid and satellite operations, according to officials at the center.
The storm is expected to reach Earth between early morning and 12 p.m. ET Thursday, with the potential to last through Friday.
The intensity and full characteristics of the storm, moving toward Earth at more than 2.5 million miles per hour (about 4 million kilometers per hour), won’t be known until it reaches the Deep Space Climate Observatory and the Advanced Composition Explorer satellites orbiting 1 million miles from Earth.
The satellites will measure the speed and magnetic intensity of the storm, which is expected to arrive at Earth 15 to 30 minutes after reaching the space observatories, said Shawn Dahl, service coordinator for the Space Weather Prediction Center, at a news briefing Wednesday.
A series of the most intense type of solar flares, known as X-class flares, have released from the sun this week. The flares also coincided with coronal mass ejections on Tuesday.
Coronal mass ejections are large clouds of ionized gas called plasma and magnetic fields that erupt from the sun’s outer atmosphere. When these outbursts are directed at Earth, they can cause geomagnetic storms, or major disturbances of Earth’s magnetic field.
“Geomagnetic storms can impact infrastructure in near-Earth orbit and on Earth’s surface,” according to the Space Weather Prediction Center.
As a result, the center has notified the Federal Emergency Management Agency, the North American power grid and satellite operators to prepare for disruptions, especially given the amount of preparations and expected relief efforts for Hurricane Milton, Dahl said.
Historically, G4 storms are common during a solar cycle, but G5, or extreme geomagnetic storms such the one that occurred on May 10, are incredibly rare, Dahl said. This new storm has a 25% chance of becoming a G5, he said.
ed vacuum pumps best online canadian pharmacy can ed be cured
natural treatments for ed https://indianpharmdelivery.com/# best online pharmacy india
Рспользуйте РїСЂРѕРјРѕРєРѕРґ ANDROID777 для 7k Casino Рё скачайте APK через телеграм канал, чтобы получить РІСЃРµ Р±РѕРЅСѓСЃС‹ https://t.me/casino_7kk
best online pharmacy india: pharmacy website india – india pharmacy
Профессиональный сервисный центр по ремонту сотовых телефонов в Москве.
Мы предлагаем: ремонт сотовых телефонов
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Online medicine order: pharmacy website india – pharmacy website india
https://prestigeagency.org/ – консумация
Профессиональный сервисный центр сервисный центр мобильных телефонов срочный ремонт телефонов москва
You’ll Never Guess This SEO Tools Software’s Secrets seo tools Software
http://mexicanpharm24.pro/# medicine in mexico pharmacies
indian pharmacies safe
reputable indian online pharmacy: indian pharmacies safe – india pharmacy
https://prestigeagency.org/ – конопля
india pharmacy mail order: india online pharmacy – buy medicines online in india
best over the counter ed pills canadian pharmacy online ed pills otc
Техническое заключение по перепланировке помещения необходимо для согласования изменений. Мы поможем составить документ на основе точных расчетов, чтобы процесс узаконивания прошел без задержек.
https://indianpharmdelivery.com/# buy medicines online in india
best online pharmacy india
https://prestigeagency.org/ – вакансии модель
Профессиональный сервисный центр по ремонту сотовых телефонов в Москве.
Мы предлагаем: сколько стоит ремонт смартфона
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
sexual dysfunction in men male enhancement pills ed meds online
https://prestigeagency.org/ – вакансии танцовщицы