java修改XML

简介: java修改XML

一、依赖

  <dependency>
      <groupId>org.dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>2.1.3</version>
      <scope>compile</scope>
    </dependency>

二、待修改的XML

<mymvc>
    <actions>
        <action name="list" class="controller.List">
            <result name="toListJSP">
                /list.jsp
            </result>
            <result name="toShowUserinfoList" type="'redirect">
                showUserinfoList.ghy
            </result>
        </action>
        <action name="showUserinfoList" class="controller.ShowUserinfoList">
            <result name="toShowUserinfoListJSP">
                /showUserinfoList.jsp
            </result>
        </action>
    </actions>
</mymvc>

三、修改XML并保存

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
 
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
 
public class Update {
    public static void main(String[] args) throws DocumentException, IOException {
        SAXReader reader=new SAXReader();
        //1、读取XML文件
        Document document = reader.read(reader.getClass().getResourceAsStream("/struts.xml"));
        //2、获取根元素
        Element rootElement = document.getRootElement();
        //获取指定元素
        Element actions = rootElement.element("actions");
        //获取根元素的所有子元素
        List<Element> rootChildren = rootElement.elements();
        for (Element child : rootChildren) {
            List<Element> childChildren = child.elements();
            if (childChildren!=null&&childChildren.size()>0) {
                for (Element childChild : childChildren) {
                    //获取元素name属性
                    Attribute name = childChild.attribute("name");
                    if (name!=null) {
                        //修改属性值
                        name.setValue("nameUpdate");
                    }
                    List<Element> elements = childChild.elements();
                    if (elements!=null&&elements.size()>0) {
                        for (Element element : elements) {
                            //修改子元素值
                           element.setText("修改后的值");
                        }
                    }
                }
            }
        }
        //创建输出格式
        OutputFormat format = OutputFormat.createPrettyPrint();
        //XML写入工具
        XMLWriter writer=new XMLWriter(new FileWriter("update.xml"),format);
        //写入文档至XML文件
        writer.write(document);
        //关闭流
        writer.close();
    }
}

四、修改后的文件

<?xml version="1.0" encoding="UTF-8"?>
 
<mymvc> 
  <actions> 
    <action name="nameUpdate" class="controller.List"> 
      <result name="toListJSP">修改后的值</result>  
      <result name="toShowUserinfoList" type="'redirect">修改后的值</result> 
    </action>  
    <action name="nameUpdate" class="controller.ShowUserinfoList"> 
      <result name="toShowUserinfoListJSP">修改后的值</result> 
    </action> 
  </actions> 
</mymvc>
 
相关文章
|
3月前
|
XML 数据采集 存储
使用Java和XPath在XML文档中精准定位数据
在数据驱动的时代,从复杂结构中精确提取信息至关重要。XML被广泛用于数据存储与传输,而XPath则能高效地在这些文档中导航和提取数据。本文深入探讨如何使用Java和XPath精准定位XML文档中的数据,并通过小红书的实际案例进行分析。首先介绍了XML及其挑战,接着阐述了XPath的优势。然后,提出从大型XML文档中自动提取特定产品信息的需求,并通过代理IP技术、设置Cookie和User-Agent以及多线程技术来解决实际网络环境下的数据抓取问题。最后,提供了一个Java示例代码,演示如何集成这些技术以高效地从XML源中抓取数据。
141 7
使用Java和XPath在XML文档中精准定位数据
|
3月前
|
XML JavaScript Java
【JAVA XML 探秘】DOM、SAX、StAX:揭秘 Java 中 XML 解析技术的终极指南!
【8月更文挑战第25天】本文详细探讨了Java中三种主流的XML解析技术:DOM、SAX与StAX。DOM将XML文档转换为树状结构,便于全方位访问和修改;SAX采取事件驱动模式,适用于大型文件的顺序处理;StAX则兼具DOM和SAX的优点,支持流式处理和随机访问。文中提供了每种技术的示例代码,帮助读者理解如何在实际项目中应用这些解析方法。
184 1
|
5月前
|
XML Java 数据格式
必知的技术知识:java基础73dom4j修改xml里面的内容(网页知识)
必知的技术知识:java基础73dom4j修改xml里面的内容(网页知识)
39 1
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
77 4
|
1月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
26 3
|
5月前
|
XML Java 数据格式
java创建xml文件内容
java创建xml文件内容
|
3月前
|
XML 存储 JavaScript
在 Java 中如何将 ArrayList 转换为 XML
【8月更文挑战第23天】
34 3
|
3月前
|
C# 前端开发 UED
WPF数据验证实战:内置控件与自定义规则,带你玩转前端数据验证,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用开发中,数据验证是确保输入正确性的关键环节。前端验证能及时发现错误,提升用户体验和程序可靠性。本文对比了几种常用的WPF数据验证方法,并通过示例展示了如何使用内置验证控件(如`TextBox`)及自定义验证规则实现有效验证。内置控件结合`Validation`类可快速实现简单验证;自定义规则则提供了更灵活的复杂逻辑支持。希望本文能帮助开发者更好地进行WPF数据验证。
116 0
|
3月前
|
XML 自然语言处理 Java
Java 中的 XML 数据绑定
【8月更文挑战第22天】
28 0
|
4月前
|
XML Java 数据库连接
【项目问题解决】 java.lang.IllegalArgumentException: XML fragments parsed
**问题摘要:** Java 应用在执行MyBatis映射时抛出`IllegalArgumentException`,指出XML片段缺少`com.xxx.xxx.xxx.xxx.dao.SingleApasInfoDao.selectListCondition`的值。此异常暗示XML映射文件存在错误或未定义指定方法。解决策略包括检查映射文件中标签的完整性与属性设置,修复可能的XML格式错误,以及确保使用的XML解析器支持所需特性,如有必要,升级解析器。
172 1
下一篇
无影云桌面