栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 前沿技术 > 人工智能 > NLP

Java&Xml教程(三)使用DOM方式修改XML文件内容

NLP 更新时间:发布时间: 百科书网 趣学号

DOM解析方式也可用于修改XML数据,我们可以使用它完成新增元素、删除元素、修改元素值、修改元素属性等操作。

我们的XML文件,内容如下:
employee.xml

            Pankaj        29        Java Developer        Male                Lisa        35        CSS Developer        Female    

我们将修改XML文件的内容:
1.根据员工的性别(gender)修改”id”属性值,性别为男(Male)的id属性值中追加”M”,为女(Female)的id属性值追加”F”。
2.修改name元素的值,全部变成大写。
3.”gender”元素已经没有存在的意义了,我们删除它。
4.在employee节点下新增一个”salary”节点。
当我们完成上述操作后,将内容保存在一个新的xml文件中。
下面是使用DOM方式解析的Java程序代码:
ModifyXMLDOM.java

package com.journaldev.xml;import java.io.File;import java.io.IOException;import javax.xml.parsers.documentBuilder;import javax.xml.parsers.documentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.OutputKeys;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class ModifyXMLDOM {    public static void main(String[] args) {        String filePath = "employee.xml";        File xmlFile = new File(filePath);        documentBuilderFactory dbFactory = documentBuilderFactory.newInstance();        documentBuilder dBuilder;        try {            dBuilder = dbFactory.newdocumentBuilder();            document doc = dBuilder.parse(xmlFile);            doc.getdocumentElement().normalize();            //update attribute value            updateAttributevalue(doc);            //update Element value            updateElementValue(doc);            //delete element            deleteElement(doc);            //add new element            addElement(doc);            //write the updated document to file or console            doc.getdocumentElement().normalize();            TransformerFactory transformerFactory = TransformerFactory.newInstance();            Transformer transformer = transformerFactory.newTransformer();            DOMSource source = new DOMSource(doc);            StreamResult result = new StreamResult(new File("employee_updated.xml"));            transformer.setOutputProperty(OutputKeys.INDENT, "yes");            transformer.transform(source, result);            System.out.println("XML file updated successfully");        } catch (SAXException | ParserConfigurationException | IOException | TransformerException e1) {            e1.printStackTrace();        }    }    private static void addElement(document doc) {        NodeList employees = doc.getElementsByTagName("Employee");        Element emp = null;        //loop for each employee        for(int i=0; i

输出xml文件内容:
employee_updated.xml

            PANKAJ        29        Java Developer    10000            LISA        35        CSS Developer    10000

原文地址:http://www.iotsi.net/

DOM解析方式也可用于修改XML数据,我们可以使用它完成新增元素、删除元素、修改元素值、修改元素属性等操作。
我们的XML文件,内容如下:
employee.xml

            Pankaj        29        Java Developer        Male                Lisa        35        CSS Developer        Female    

我们将修改XML文件的内容:
1.根据员工的性别(gender)修改”id”属性值,性别为男(Male)的id属性值中追加”M”,为女(Female)的id属性值追加”F”。
2.修改name元素的值,全部变成大写。
3.”gender”元素已经没有存在的意义了,我们删除它。
4.在employee节点下新增一个”salary”节点。
当我们完成上述操作后,将内容保存在一个新的xml文件中。
下面是使用DOM方式解析的Java程序代码:
ModifyXMLDOM.java

package com.journaldev.xml;import java.io.File;import java.io.IOException;import javax.xml.parsers.documentBuilder;import javax.xml.parsers.documentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.OutputKeys;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class ModifyXMLDOM {    public static void main(String[] args) {        String filePath = "employee.xml";        File xmlFile = new File(filePath);        documentBuilderFactory dbFactory = documentBuilderFactory.newInstance();        documentBuilder dBuilder;        try {            dBuilder = dbFactory.newdocumentBuilder();            document doc = dBuilder.parse(xmlFile);            doc.getdocumentElement().normalize();            //update attribute value            updateAttributevalue(doc);            //update Element value            updateElementValue(doc);            //delete element            deleteElement(doc);            //add new element            addElement(doc);            //write the updated document to file or console            doc.getdocumentElement().normalize();            TransformerFactory transformerFactory = TransformerFactory.newInstance();            Transformer transformer = transformerFactory.newTransformer();            DOMSource source = new DOMSource(doc);            StreamResult result = new StreamResult(new File("employee_updated.xml"));            transformer.setOutputProperty(OutputKeys.INDENT, "yes");            transformer.transform(source, result);            System.out.println("XML file updated successfully");        } catch (SAXException | ParserConfigurationException | IOException | TransformerException e1) {            e1.printStackTrace();        }    }    private static void addElement(document doc) {        NodeList employees = doc.getElementsByTagName("Employee");        Element emp = null;        //loop for each employee        for(int i=0; i

输出xml文件内容:
employee_updated.xml

            PANKAJ        29        Java Developer    10000            LISA        35        CSS Developer    10000

以上就是Java&Xml教程(三)使用DOM方式修改XML文件内容的内容,更多相关内容请关注PHP中文网(www.iotsi.net)!

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/794848.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号