如何在java中的另一个xml文档中插入一个xml节点作为第一个子节点?

2023-12-06

例如。根=

<root>
  <param value="abc">
  <param value="bc">
</root>

NodeToInsert 可能是

<insert><parameterDesc>afds</parameterDesc></insert>

输出应该是:

<root>
  <insert><parameterDesc>afds</parameterDesc></insert>
  <param value="abc">
  <param value="bc">
</root>  

如果事实证明我只是为你做作业,我会非常生气。

package com.akonizo.examples;

import java.io.ByteArrayInputStream;
import java.io.StringWriter;

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.Text;

public class XmlInsertExample {

    /**
     * @param args
     */
    public static void main(String[] args) {
        String initial = "<root><param value=\"abc\"/><param value=\"bc\"/></root>";

        try {
            // Parse the initial document
            ByteArrayInputStream is = new ByteArrayInputStream(initial.getBytes());
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            Document doc = db.parse(is);

            // Create the new xml fragment
            Text a = doc.createTextNode("afds");
            Node p = doc.createElement("parameterDesc");
            p.appendChild(a);
            Node i = doc.createElement("insert");
            i.appendChild(p);
            Element r = doc.getDocumentElement();
            r.insertBefore(i, r.getFirstChild());
            r.normalize();

            // Format the xml for output
            Transformer transformer = TransformerFactory.newInstance().newTransformer();
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");

            // initialize StreamResult with File object to save to file
            StreamResult result = new StreamResult(new StringWriter());
            DOMSource source = new DOMSource(doc);
            transformer.transform(source, result);

            System.out.println(result.getWriter().toString());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

结果将是:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
  <insert>
    <parameterDesc>afds</parameterDesc>
  </insert>
  <param value="abc"/>
  <param value="bc"/>
</root>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在java中的另一个xml文档中插入一个xml节点作为第一个子节点? 的相关文章

  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • 将链接对象转换为流或集合

    我想迭代堆栈跟踪 堆栈跟踪由可抛出对象组成 其 getCause 返回下一个可抛出对象 最后一次调用 getCause 返回 null 示例 a gt b gt null 我尝试使用 Stream iterable 这会导致 NullPoi
  • Java 创建浮雕(红/蓝图像)

    我正在编写一个 Java 游戏引擎 http victoryengine org http victoryengine org 并且我一直在尝试生成具有深度的 3D 图像 您可以使用那些红色 蓝色眼镜看到 我正在使用 Java2D 进行图形
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 通过 InjectMocks Spy 注入对象

    我需要对一个类运行一系列单元测试 该类具有 Autowired Logger 实现 实现的基本思想是 Mock Logger logger InjectMocks TestedClass tested 但我想保存日志输出功能 Mockito
  • 如何解决 onEditCommit 事件上的类型不匹配错误?

    我在 Fxml 中使用 onEditCommit 事件在用户编辑数据后检索数据 FXML 代码
  • Android - 除了普通 SSL 证书之外还验证自签名证书

    我有一个通过 SSL 调用 Web 服务的 Android 应用程序 在生产中 我们将拥有由受信任的 CA 签名的普通 SSL 证书 但是 我们需要能够支持自签名证书 由我们自己的 CA 签名 我已经成功实施了接受自签名证书的建议解决方案
  • 所有junit测试后的清理

    在我的项目中 我必须在所有测试之前进行一些存储库设置 这是使用一些棘手的静态规则来完成的 然而 在所有测试之后我不知道如何进行清理 我不想保留一些神奇的静态数字来引用所有测试方法的数量 我应该一直维护它 最受赞赏的方法是添加一些侦听器 该侦
  • Java替换特定字符

    这是我在这个网站上的第一个问题 所以我会尽量不要成为一个十足的菜鸟 我目前正在用java 创建刽子手游戏 所以我问你的问题是我们是否被赋予了 幽灵 这个词 并将 Ghost 替换为 hiddenWord ghost length for i
  • 使用 Guava 联合两个 ImmutableEnumSets

    我想联合两个ImmutableEnumSets来自番石榴 这是我的尝试 public final class OurColors public enum Colors RED GREEN BLUE YELLOW PINK BLACK pub
  • @EnableTransactionManagement 的范围是什么?

    我试图了解正确的放置位置 EnableTransactionManagement多个 JavaConfig 上下文的情况下的注释 考虑以下场景 我在 JPAConfig java 和 AppConfig java 中有 JPA 配置以及一组
  • Java:VM 如何在 32 位处理器上处理 64 位“long”

    JVM 如何在 32 位处理器上处理 64 位的原始 long 在多核 32 位机器上可以并行利用多个核心吗 64 位操作在 32 位机器上慢了多少 它可能使用多个核心来运行不同的线程 但不会并行使用它们进行 64 位计算 64 位长基本上
  • tomcat 过滤所有 web 应用程序

    问题 我想对所有网络应用程序进行过滤 我创建了一个过滤器来监视对 apache tomcat 服务器的请求 举例来说 它称为 MyFilter 我在 netbeans 中创建了它 它创建了 2 个独立的目录 webpages contain
  • 从 Stax XMLStreamReader 读取以解组部分

    我正在使用 Stax 游标 API 从大型 xml 文件中提取数据 当前 我转到特殊标签的开头并使用 JAXB 解组该标签 这对于格式良好的 xml 文件效果很好 但不久前我有一个文档 其中数十万个标签中有一个未关闭 JAXB 使用 XML
  • ExceptionHandler 不适用于 Throwable

    我们的应用程序是基于 Spring MVC 的 REST 应用程序 我正在尝试使用 ExceptionHandler 注释来处理所有错误和异常 I have ExceptionHandler Throwable class public R
  • 我想要一个 Java 阿拉伯语词干分析器

    我正在寻找阿拉伯语的 Java 词干分析器 我找到了一个名为 AraMorph 的库 但它的输出是无法控制的 并且它会形成不需要的单词 还有其他阿拉伯语词干分析器吗 这是新的阿拉伯语词干分析器 Assem 的阿拉伯语轻词干分析器 http
  • 从java中的字符串数组中删除空值

    java中如何从字符串数组中删除空值 String firstArray test1 test2 test4 我需要像这样没有 null 空 值的 firstArray String firstArray test1 test2 test4
  • Java 编码风格、局部变量与重复方法调用

    我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car
  • Spring Boot MSSQL Kerberos 身份验证

    目前在我的春季靴子中application properties文件中 我指定以下行来连接到 MSSql 服务器 spring datasource url jdbc sqlserver localhost databaseName spr
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • 更改 R 中图形的字体

    在我的研究中 我使用 R 生成各种图表 我发现大多数图表都带有各种大小的 Sans Serif 字体 如何将图表中的所有文本 x 标签 y 标签 标题 图例等 更改为统一字体 例如Times New Roman 12pt 粗体 您可以使用外
  • Wildfly 和 Jackson @JsonIgnore 注释

    我对 Wildfly 和 Java EE 的某些部分相当陌生 我有一个使用 RestEasy 在 Wildfly 上运行的休息服务 我的 用户 实体有一个 AccessToken 实体 理想情况下 我希望能够以 JSON 形式发送用户实体
  • 如何获取一组 mysql 总行数的百分比?

    下面我有一个查询 将从用户代理表和 IP 地址链接表中获取站点最常见的用户代理 SELECT count as num string FROM useragent ip left join useragents on useragent i
  • 龙卷风框架(FacebookGraphMixin)

    我想尝试使用 Tornado Framework 将应用程序请求从我的 Facebook 应用程序发送到用户 我正在关注http www tornadoweb org documentation auth html但我不知道如何解决这个错误
  • 在 Node.js 跨平台中下载和解压缩文件的最简单方法?

    只是寻找一个简单的下载和解压解决方案 zip or tar gz任何操作系统上 Node js 中的文件 不确定这是否是内置的 或者我必须使用单独的库 有任何想法吗 只需寻找几行代码 这样当下一个 zip 文件出现时我想在节点中下载 这是理
  • Angular2 Dart - 获取 Angular2 组件内的文本

    我有一个item我在其他组件中使用的组件 项目组件通常如下所示
  • R 中均值的分组条形图

    我有一个数据集 学习者 其中包含学生测试成绩 学习者 literacy total 他们的年级 即1 2 3 12年级 和他们的性别 学习者 性别 我想创建一个条形图 其中 x 轴上有成绩 y 轴上有平均分数 每个成绩有两列 一列用于男性
  • 如何在 django 上自动创建超级用户?

    我要自动运行manage py createsuperuser on django但似乎无法设置默认密码 我怎样才能得到这个 它必须独立于 django 数据库 从 Django 3 0 开始 您可以使用默认值createsuperuser
  • 将 JPanel 与 Eclipse 的 WindowBuilder 重叠

    我正在使用 WindowBuilder Pro 进行 eclipse 并且我希望有两个彼此完美重叠的 Jpanels 然后我就可以根据组合框的选择来切换它们的可见性 当我尝试在 GUI 构建器中实现此目标时 第一个面板被第二个面板取代 请给
  • 如何处理应用程序被HOME按钮最小化

    前几天出现了一个问题 我有一个监听 GPS 位置的应用程序 监听器是一个始终工作的后台服务 该服务在应用程序级别保存数据 每个活动都会读取该数据 因此 当我按下后退按钮时 我能够捕获此事件 并且可以停止服务 但是当我按下 HOME 按钮时
  • CocoaPods 文件夹不存在/权限错误

    我是 CocoaPods 的新手 我尝试过运行 pod install 在我的 Mac 上安装我的 Pod 但我收到文件夹权限错误 Users username Library Caches CocoaPods 该文件夹甚至不存在 难道是我
  • 如何从 Google 地图 API 函数中获取 javascript lat/lng 变量

    我需要从邮政编码获取纬度 经度 因此我使用 Google 地图 地理编码 API 我无法从地理编码脚本中运行的函数中获取 lat lng 变量 我正在使用的代码如下
  • ADODBAPI 与数据库的打开连接数

    我想数一下没有 当前与 ms access 数据库打开的连接数 例如 两个应用程序正在使用同一个数据库 那么我怎样才能得到这个计数呢 pypyodbc 中是否有 ms access 函数或任何设施 使用adodbapi 我怎么能得到no 与
  • 这是我的 javascript 来调整 iframe 的大小并需要一些编辑

    这是我的 iframe 它位于带有按钮的 div 内 function myFunction var url document getElementById myFrame getAttribute src var newUrl url s
  • 外部函数:从 C 脚本使用 .dll 的替代方法

    这是一个伴随问题外部函数 在 C 脚本中引用头文件来编译 dll 该堆栈溢出问题是使用 Modelica 外部函数调用 c 脚本 然后 该 c 脚本使用 dll 中包含的 c 函数 以下是我尝试过的最初首选方法和我不喜欢的工作尝试 初步尝试
  • 推力启动配置

    我正在尝试对用 Thrust 编码的算法进行一些实验 我想知道每个块的线程数对我的算法性能的影响 是否可以限制推力 使其每个块使用的线程数不超过 X 个 Thrust 不提供任何直接设置每个块的线程数或特定内核调用中使用的块数的能力 这些东
  • 以本机 Excel 语言动态显示工作日名称?

    我正在尝试为国际用户群开发一个 Excel 财务模板 以他们的母语将工作日名称显示为字符串 即 今天 MON 对于英文 Excel 版本 这很简单 Text Now DDD 但是 我很难找到适用于所有 Excel 语言的通用解决方案 通过我
  • 异步等待块主 UI

    我正在使用新的异步等待功能从 C 中的后台工作人员升级 在下面的代码中 我尝试使用ContinueWith方法复制多个任务的执行 Task t1 new Task gt Thread Sleep 10000 make the Task th
  • FileUtils 未显示在 selenium WebDriver 中导入屏幕截图功能的预定义类的建议

    我不允许在程序中使用 FileUtils 并且这样做时会显示错误 甚至没有建议导入这个预定义的类 我尝试搜索解决方案 但发现是导入该类 但就我而言 甚至建议也没有显示导入任何类 将鼠标悬停在 FileUtils 上会显示创建 FileUti
  • 如何在java中的另一个xml文档中插入一个xml节点作为第一个子节点?

    例如 根