首页>代码>java读写操作xml文件>/JavaXml/src/com/demo/JavaXml.java
package com.demo;


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.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.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;


public class JavaXml
{
    public static void main(String argv[])
    {
        try
        {
            String filepath = "file.xml";
            DocumentBuilderFactory docFactory = DocumentBuilderFactory
                    .newInstance();
            DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
            Document doc = docBuilder.parse(filepath);

            Node staff = doc.getElementsByTagName("staff").item(0);

            // 更新属性值
            NamedNodeMap attr = staff.getAttributes();
            Node nodeAttr = attr.getNamedItem("id");
            nodeAttr.setTextContent("2");

            // 添加一个新的节点
            Element age = doc.createElement("age");
            age.appendChild(doc.createTextNode("28"));
            staff.appendChild(age);

            // 循环子类
            NodeList list = staff.getChildNodes();

            for (int i = 0; i < list.getLength(); i++)
            {

                Node node = list.item(i);

                if ("salary".equals(node.getNodeName()))
                {
                    node.setTextContent("20000");
                }

                if ("firstname".equals(node.getNodeName()))
                {
                    staff.removeChild(node);
                }

            }

            // 写入xml
            TransformerFactory transformerFactory = TransformerFactory
                    .newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            DOMSource source = new DOMSource(doc);
            StreamResult result = new StreamResult(new File(filepath));
            transformer.transform(source, result);

        }
        catch (ParserConfigurationException pce)
        {
            pce.printStackTrace();
        }
        catch (TransformerException tfe)
        {
            tfe.printStackTrace();
        }
        catch (IOException ioe)
        {
            ioe.printStackTrace();
        }
        catch (SAXException sae)
        {
            sae.printStackTrace();
        }
    }
}
最近下载更多
Coincidance  LV8 2020年12月3日
said_what  LV3 2020年9月24日
MMENGDI  LV14 2019年12月17日
乘加减  LV1 2019年9月1日
zhangkm  LV2 2018年10月26日
sunkun  LV1 2018年4月3日
每个部分  LV2 2018年4月2日
大米缸  LV14 2017年12月21日
annazhang  LV29 2017年10月7日
renhairui3  LV7 2017年3月11日
最近浏览更多
wbbhappy  LV13 1月11日
1358849392  LV21 2022年11月11日
开发哈哈 2022年1月11日
暂无贡献等级
chokkint  LV12 2021年10月27日
329512801  LV28 2021年7月7日
Hachi6  LV13 2021年5月10日
shiopaaa  LV13 2021年4月9日
773977962  LV9 2021年3月30日
15939671505 2020年12月18日
暂无贡献等级
Coincidance  LV8 2020年12月3日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友