Java xml节点属性的修改[通俗易懂]

Java xml节点属性的修改[通俗易懂]Javaxml节点属性的修改修改xml节点的属性,我们先建立一个修改之前的xml文档:操作xml文档的java程序文件test.javapackagecom.pb.test;importjava.io.FileOutputStream;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.p

大家好,又见面了,我是你们的朋友全栈君。

Java xml节点属性的修改

修改xml节点的属性,我们先建立一个修改之前的xml文档:

<?xml version=”1.0″ encoding=”GB2312″ standalone=”no”?><PhoneInfo>
<Brand name=”苹果”><Type name=”U865440″/></Brand><Brand name=”苹果”><Type name=”U865440″/></Brand></PhoneInfo>

操作xml文档的java程序文件test.java

package com.pb.test;
import java.io.FileOutputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
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;

public class Test {

    public static void main(String[] args) {

        try {

            // 1.得到DOM解析器的工厂实例
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            // 2.从DOM工厂里获取DOM解析器
            DocumentBuilder db = dbf.newDocumentBuilder();
            // 3.解析XML文档,得到document,即DOM树
            Document doc = db.parse(“src/test.xml”);
            
            NodeList list=doc.getElementsByTagName(“Brand”);
            for(int i=0;i<list.getLength();i++){

                Element brandElement=(Element) list.item(i);
                String brandName=brandElement.getAttribute(“name”);
                if(brandName.equals(“苹果”)){

                    //属性修改
                    brandElement.setAttribute(“name”, “Apple”);
                }
            }
            
            
            //保存xml文件
            TransformerFactory transformerFactory=TransformerFactory.newInstance();
            Transformer transformer=transformerFactory.newTransformer();
            DOMSource domSource=new DOMSource(doc);
            //设置编码类型
            transformer.setOutputProperty(OutputKeys.ENCODING, “GB2312”);
            StreamResult result=new StreamResult(new FileOutputStream(“src/test.xml”));
            //把DOM树转换为xml文件
            transformer.transform(domSource, result);
            
        } catch (Exception ex) {

            System.out.println(ex.getMessage());
        }
    }
}

运行此程序后,xml文件内容变成:

<?xml version=”1.0″ encoding=”GB2312″ standalone=”no”?><PhoneInfo>
<Brand name=”Apple”><Type name=”U865440″/></Brand><Brand name=”Apple”><Type name=”U865440″/></Brand></PhoneInfo>

之前的Brand 内name属性苹果成功更改为Apple,表示xml文件修改成功。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162502.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring学习——Spring IOC 学习整理资料整理

    自己动手写个spring IOC容器 http://blog.csdn.net/u010837612/article/details/50686573 XPath 语法 http://www.runoob.com/xpath/xpath-syntax.htmlspring ioc原理(看完后大家可以自己写一个spring) http://blog.csdn.net/it_man/artic

    2022年2月26日
    41
  • centos防火墙配置「建议收藏」

    centos防火墙配置「建议收藏」centos防火墙配置1.centos中firewalld与iptablescentos7以前的版本默认使用iptables服务进行管理防火墙规则。centos7以及其以上版本默认使用firewalld服务管理防火墙。所以在centos8中,就使用其默认的firewalld配置防火墙。2.firewalld相关命令进程与状态相关systemctlstartfirewalld.service#启动防火墙systemctlstopfirewalld.servic

    2022年6月26日
    27
  • 网站防止XSS攻击

    网站防止XSS攻击防止XSS攻击名词解释:XSS全称(CrossSiteScripting)跨站脚本攻击,是Web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如JavaScript),当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的.比如获取用户的Cookie,导航到恶意网站,携带木马等。1、鹏云留学:XSS是如何发生的呢假如有下面一个textbox

    2022年7月20日
    15
  • html怎么将表格居中_HTML居中代码

    html怎么将表格居中_HTML居中代码表格是一种以有组织的方式呈现大量信息的绝佳方式。销售数据、网页流量、股票市场趋势和学生成绩是经常以表格形式呈现的信息示例。使用HTML将表格添加到网页时,将其置于页面中心可能更具视觉吸引力。居中文本和图片通常是通过text-align类或通过CSS来完成的,但是居中表格需要不同的方法。下面提供了有关如何使表格在网页上居中的详细信息。将表格添加到网页时,默认情况下,它与页面或容器的左侧对齐,如下所示。上表的HTML源代码如下。要使此表居中,您需要添加;margin-left:auto;margin-r

    2022年9月18日
    5
  • 创建linux中的nginx+php7+mysql环境—-PHP7安装

    创建linux中的nginx+php7+mysql环境—-PHP7安装

    2021年10月26日
    41
  • struts2使用AbstractInterceptor拦截器 获取参数以及修改参数的值

    struts2使用AbstractInterceptor拦截器 获取参数以及修改参数的值publicclassAppLoginInterceptorextendsAbstractInterceptor{ @Override publicStringintercept(ActionInvocationinvocation)throwsException{ Mapmap=invocation.getInvocationContext().getSes…

    2022年5月15日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号