在这篇文章中,我们将学习如何使用JDOM Parser
在Java中更新或修改现有的XML文件。
jdom_users.xm
l文件updated_jdom_users.xml
文件假设我们有下面的源XML文件。我们将学习如何使用JDOM解析器用java程序修改或编辑这个XML文件。
<?xmlversion="1.0"encoding="UTF-8"?>
<Users>
<User id= "1">
<firstName>Ramesh</firstName>
<lastName>Fadatare</lastName>
<age>28</age>
<gender>Male</gender>
</User>
<User id= "2">
<firstName>John</firstName>
<lastName>Cena</lastName>
<age>45</age>
<gender>Male</gender>
</User>
<User id= "3">
<firstName>Tom</firstName>
<lastName>Cruise</lastName>
<age>40</age>
<gender>Male</gender>
</User>
</Users>
我们想对XML中的每个用户元素进行以下修改。
firstName
元素为正体字。gender
元素。salary
下面是使用JDOM解析器进行上述所有更新的java程序。
package net.javaguides.javaxmlparser.jdom;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class UpdateXMLFile {
public static void main(String[] args) throws JDOMException, IOException {
// we can create JDOM Document from DOM, SAX and STAX Parser Builder classes
String fileName = "jdom_users.xml";
SAXBuilder builder = new SAXBuilder();
File xmlFile = new File(fileName);
Document jdomDoc = (Document) builder.build(xmlFile);
// Get list of User element
Element rootElement = jdomDoc.getRootElement();
List < Element > listUserElement = rootElement.getChildren("User");
// loop through to edit every User element
for (Element userElement: listUserElement) {
// change the name to BLOCK letters
String name = userElement.getChildText("firstName");
if (name != null)
userElement.getChild("firstName").setText(name.toUpperCase());
// edit the ID attribute based on Gender
String gender = userElement.getChildText("gender");
if (gender != null && gender.equalsIgnoreCase("female")) {
String id = userElement.getAttributeValue("id");
userElement.getAttribute("id").setValue(id + "F");
} else {
String id = userElement.getAttributeValue("id");
userElement.getAttribute("id").setValue(id + "M");
}
// remove gender element as it's not needed anymore
userElement.removeChild("gender");
// add salary element with default value to every user
userElement.addContent(new Element("salary").setText("1000"));
}
// document is processed and edited successfully, lets save it in new file
XMLOutputter xmlOutputter = new XMLOutputter(Format.getPrettyFormat());
// output xml to console for debugging
// xmlOutputter.output(doc, System.out);
xmlOutputter.output(jdomDoc, new FileOutputStream("updated_jdom_users.xml"));
}
}
<?xmlversion="1.0"encoding="UTF-8"?>
<Users>
<User id="1M">
<firstName>RAMESH</firstName>
<lastName>Fadatare</lastName>
<age>28</age>
<salary>1000</salary>
</User>
<User id="2M">
<firstName>JOHN</firstName>
<lastName>Cena</lastName>
<age>45</age>
<salary>1000</salary>
</User>
<User id="3M">
<firstName>TOM</firstName>
<lastName>Cruise</lastName>
<age>40</age>
<salary>1000</salary>
</User>
</Users>
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.javaguides.net/2018/10/how-to-update-or-modify-xml-file-in-java-jdom-parser.html
内容来源于网络,如有侵权,请联系作者删除!