如何在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节点作为第一个子节点? 的相关文章

  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • 禁止的软件包名称:java

    我尝试从数据库名称为 jaane 用户名 Hello 和密码 hello 获取数据 错误 java lang SecurityException Prohibited package name java at java lang Class
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 为什么 XML 中的 CDATA 语法看起来如此奇怪?

    CDATA 在 XML 中的使用如下
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • 更改 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节点作为第一个子节点?

    例如 根