从 Java 写入 XML 文档 - 简单

2024-03-08

我知道 stackoverflow 上有很多关于从 Java 编写到 XML 的问题,但它太复杂了。我觉得我有一个非常简单的问题,但我无法弄清楚。

因此,我有一个程序需要大量用户输入,并且当前正在创建并附加带有结果的文本文档。我将在这里发布我的作者代码:

 PrintWriter out = null;
         try {
             out = new PrintWriter(new BufferedWriter(new FileWriter("C:/Documents and Settings/blank/My Documents/test/test.txt", true)));
             out.println("");
             out.println("<event title=\""+titleFieldUI+"\"");
             out.println("  start=\""+monthLongUI+" "+dayLongUI+" "+yearLongUI+" 00:00:00 EST"+"\"");            
             out.println("  isDuration=\"true\"");
             out.println("  color=\""+sValue+"\"");
             out.println("  end=\""+monthLong1UI+" "+dayLong1UI+" "+yearLong1UI+" 00:00:00 EST"+"\"");
             out.println("  "+descriptionUI);
             out.println("");
             out.println("</event>");
             out.println("  <!-- Above event added by: " +System.getProperty("user.name")+" " +
                        "on: "+month+"/"+day+"/"+year+" -->");       
         }catch (IOException e) {
             System.err.println(e);
         }finally{
             if(out != null){
                 out.close();
             }
         } 

所以最后,我希望它写入一个已经存在的 XML 文件(我可以通过简单地更改我的编写器所在的位置来实现)。问题是,这个 XML 文件有一个根标记,称为<data>。我需要将程序的结果放在 XML 文件的底部,但要先于</data>。这是唯一的要求。我发现的一切似乎都太复杂了,我无法弄清楚。

很感谢任何形式的帮助!


您应该使用合适的 XML API。例如,这是一个使用的示例JDOM http://www.jdom.org/:

import java.io.*;

import org.jdom2.*;
import org.jdom2.input.*;
import org.jdom2.output.*;

public class Test {
    public static void main(String args[]) throws IOException, JDOMException {
        File input = new File("input.xml"); 
        Document document = new SAXBuilder().build(input);
        Element element = new Element("event");
        element.setAttribute("title", "foo");
        // etc...
        document.getRootElement().addContent(element);

        // Java 7 try-with-resources statement; use a try/finally
        // block to close the output stream if you're not using Java 7
        try(OutputStream out = new FileOutputStream("output.xml")) {
            new XMLOutputter().output(document, out);
        }
    }
}

It's really没那么难......而且它比手动写出来要强大得多。 (例如,如果您的事件标题包含“&”,这将执行正确的操作 - 而您的代码将生成无效的 XML。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Java 写入 XML 文档 - 简单 的相关文章

  • Android 中的 XmlPullParser 陷入困境

    经过多个小时的搜索和调试后 我仍然停留在同一个地方 并且 Eclipse 没有帮助我 我试图解析这个 RSS 提要 http fr espnf1 com rss motorsport story feeds 0 xml type 2 这很简
  • eclipse juno 打开时出错

    在安装 Eclipse 并正常工作一年多后 我今天打开 Eclipse Juno 并在打开工作区时收到一条错误消息 我使用的是 Windows 8 64 位 Java 64 位和 Eclipse 64 位 此后我尝试重新安装 Java 和
  • 匿名内部类显示不正确的修饰符

    据我了解 以下代码应该打印true作为输出 但是 当我运行这段代码时 它正在打印false 来自 Java 文档15 9 5 匿名类 https docs oracle com javase specs jls se8 html jls 1
  • 如何在流中收集到TreeMap中?

    我有两个Collectors groupingBy在流中 我需要收集所有信息TreeMap 我的代码 Map
  • Jackson Json 将对象反序列化为列表

    我正在使用 Spring 的 Web 服务RestTemplate并反序列化Jackson 在来自服务器的 JSON 响应中 其中一个字段可以是对象或列表 这意味着它可以是 result or result 有没有办法通过对我要反序列化的类
  • 按对象值分组,统计后按最大对象属性设置组键

    我设法使用 Java 8 Streams API 编写了一个解决方案 该解决方案首先按对象 Route 的值对列表进行分组 然后计算每组中的对象数量 它返回一个映射 Route gt Long 这是代码 Map
  • 如何使用 Spring Security 跨多个基于 JVM 的应用程序实现单点登录

    我目前正在尝试跨多个基于 JVM Grails Servlet 的 Web 应用程序实现单点登录解决方案 这些应用程序目前都部署在同一个 servlet 容器 当前是 Tomcat 但不想将我的解决方案仅限于 Tomcat 中 所有 Web
  • Java - 同步方法导致程序大幅减慢

    我正在尝试了解线程和同步 我做了这个测试程序 public class Test static List
  • 如何连接hibernate和DB2

    我正在运行一个使用 struts 和 hibernate 的应用程序 我目前正在使用 Derby 数据库 现在我必须转向 DB2 数据库 请告诉我 我必须做什么配置 休眠配置文件 我必须设置任何类路径吗 多变的 我知道 DB2 有两个 ja
  • Spring @Value 添加验证小于

    我使用以下属性值注入 我如何向此操作添加小于验证 我的意思是我想设置一个验证user maxpassiveday可以说 财产价值不得低于 100 Value user maxpassiveday int maxpassiveday 使用Sp
  • 比较和删除列表和数组java中不存在的元素

    我有一个String数组和一List
  • 使用antlr4获取预处理器行并解析C代码

    我正在使用 Antlr4 来解析 C 代码 并使用以下语法来解析 链接到 C g4 https github com antlr grammars v4 blob master c C g4 上面的语法默认不提供任何解析规则来获取预处理器语
  • 如何减少 JSF 中的 javax.faces.ViewState

    减少 JSF 中视图状态隐藏字段大小的最佳方法是什么 我注意到我的视图状态约为 40k 这会在每次请求和响应时下降到客户端并返回到服务器 特别是到达服务器时 这对用户来说会显着减慢 我的环境 JSF 1 2 MyFaces Tomcat T
  • JSP 作为电子邮件模板

    有没有办法发送 MIME 电子邮件 其中电子邮件正文源自 JSP 我需要使用 Javamail 发送一封电子邮件 其中包含一个表格 我认为如果我可以使用 JSP 来完成所有格式设置和布局 将会很方便 在这个线程中 Java 电子邮件模板的建
  • 为什么jdk中没有ConcurrentLinkedHashMap类?

    这个问题直接接着问从我之前的问题来看 https stackoverflow com q 12299731 1527084 我想我的第二个问题的答案是否定的 所以我想了解为什么 java util concurrent 包中没有 Concu
  • HashSet 与 LinkedHashSet

    它们之间有什么区别 我知道 LinkedHashSet 是 HashSet 的有序版本 维护一个跨所有元素的双向链接列表 使用此类代替 HashSet 当您关心迭代顺序时 当你迭代 HashSet 时 顺序是不可预测的 而 LinkedHa
  • WebSocketStompClient 将无法连接到 SockJS 端点

    我正在尝试新的 从版本 4 2 开始 java STOMP 客户端支持 我的出发点是入门指南 使用 WebSocket 构建交互式 Web 应用程序 http spring io guides gs messaging stomp webs
  • 为什么 HttpServletRequest 输入流为空?

    我有这段代码 我从请求输入流读取输入并使用 JacksonMapper 转换为 POJO 它在具有 guice 支持的 jetty 7 容器中运行 Override protected void doPost HttpServletRequ
  • 如果所有类不在同一个包中,Spring @autowired 不起作用

    我有四个包裹 com spring org Files HomeController java com spring org dao Files SubscriberDao java SubscriberDaoImpl java com s
  • 不明确的 XML 模式

    我正在尝试为 XML 生成一个非常简单的 XML 架构 类似于以下内容

随机推荐

  • Android 无法将 FAB 按钮锚定到 BottomSheet

    我正在尝试将 FAB 按钮附加到 BottomSheet 视图 就像 Google 地图一样 然而我无法让它发挥作用 这是 FAB 按钮的代码
  • 如何使用 colorbox 在页面上显示隐藏的 div 而无需进行硬编码?

    我正在使用 Colorbox 在我的页面上显示隐藏 div 的 html 内容 我可以让它与以下内容完美配合 a colorbox colorbox width 600px inline true href 344 这将显示 ID 为 34
  • C 结构大小不一致[重复]

    这个问题在这里已经有答案了 可能的重复 如何找到结构体的大小 https stackoverflow com questions 143025 how do i find the size of a struct 结构体的内存大小不同 ht
  • 比较不同数组的范围值

    我正在尝试将 arr3 的范围值与 arr4 的范围值进行比较 但我没有得到所需的输出 请建议我修改以下代码以获得输出 3 4 5 6 7 9 10 11 12 14 15 不重复值 例如5和10 并且总匹配 11 my arr3 1 5
  • 为什么不继承List

    在计划我的计划时 我经常从这样的一系列思考开始 足球队只是足球运动员的名单 因此 我应该用 var football team new List
  • Chrome 开发者工具:如何禁用代码自动完成?

    我正在源面板中尝试使用 Chrome DevTool 漂亮的 Workspaces in devtools 代码编辑器 其设置大致类似于此处接受的答案 Chrome 开发者工具 在单独的视图 垂直平铺中查看控制台和源视图 https sta
  • Mysql 查询运行速度更快

    表结构 CREATE TABLE IF NOT EXISTS logs id bigint 20 unsigned NOT NULL AUTO INCREMENT user bigint 20 unsigned NOT NULL type
  • 如何捕获 Android 上的应用流量

    我正在尝试从 Android 手机上的应用程序捕获流量 尽管我已在手机上设置代理并且可以捕获来自手机的所有其他互联网流量 使用 Charles 代理 但我看不到任何流量这一个应用程序 这是如何完成的以及如何捕获流量 UPDATE 如果您需要
  • 将 UTC 时间戳转换为任何其他区域时间戳

    我正在使用 MongoDB 来存储我的数据 Mongo 默认以 UTC 格式存储时间戳 我们在不同时区处理数据 我正在努力将 UTC 时间戳转换为 PDT 或 IST 时间戳 尝试构造一个方法来传递时区 我的时间戳将转换为其中 和时间戳 U
  • 用户配置文件的布局不适用于 asp.net core 3.0

    在 Asp core 3 0 上 当用户单击其个人资料 Areas Identity Pages Account Manage layout cshtml 时 我的布局页面无法正常工作 当我登录后单击默认电子邮件时 我会看到 Manage
  • 重置 R 实例

    是否可以重置 R 实例 例如 如果我使用了命令 x lt 1 10 plot x x 从而用 x 变量污染了系统 在这种状态下 我可以在不关闭 R 并再次启动它的情况下恢复到干净状态吗 您可以使用以下命令从工作区中删除所有变量 rm lis
  • protobuf-net 不比二进制序列化快吗?

    我编写了一个程序 使用 XMLSerializer BinaryFormatter 和 ProtoBuf 序列化 Person 类 我认为 protobuf net 应该比其他两个更快 Protobuf 序列化比 XMLSerializat
  • MVC 4 中的防伪 cookie 令牌和表单字段令牌不匹配

    我在 ASP NET MVC 4 中使用默认登录模块 我没有更改默认应用程序中的任何代码 并将其托管在共享服务器上 我使用默认登录页面登录后 我让浏览器闲置了一段时间 然后 当我尝试执行任何控制器操作时 显然应用程序会重定向到登录页面 Au
  • Python Matplotlib - 未对齐的网格线和颜色填充

    我使用以下代码来生成一种二进制热图 import numpy as np import matplotlib colors as mlc import matplotlib pyplot as mlp states AAAA BBBB CC
  • 使用 Rails 连接到 Web 服务(HTTP 请求)?

    我正在使用 Ruby on Rails 3 并尝试实现 API 以从 Web 服务检索帐户信息 也就是说 我想连接到具有 Account 类的 Web 服务并从show在 URI 处路由的操作http
  • 带有绝对路径的“没有这样的文件或目录”

    我想导入 png 文件 import matplotlib pyplot as plt O plt imread C Users myusername Downloads Mathe Picture png 我有绝对路径 但它仍然给我错误
  • 如何从一个类调用另一个类的方法(iOS)

    这是一个非常基本的问题 但我进行了全面搜索 但无法找到一个足以让我理解的答案 我想要做的是在我的 iOS 应用程序的一个类中创建一个方法 然后从我的应用程序中的其他类调用该方法 有人可以准确解释我需要做什么才能实现这一目标吗 任何帮助将不胜
  • HTML5 拖放在拖动时更改光标(不使用 UI)

    我想改变cursor拖动时 所以我尝试这样 function drag event localStorage setItem no event target data no html css cursor move tr class mem
  • 使 Python 脚本与 xargs 一起工作

    让我的 Python 脚本与 xargs 良好配合的过程是什么 例如 我希望以下命令能够处理文本文件的每一行 并执行任意命令 cat servers txt hardware py m 本质上希望将每一行传递给 hardware py 脚本
  • 从 Java 写入 XML 文档 - 简单

    我知道 stackoverflow 上有很多关于从 Java 编写到 XML 的问题 但它太复杂了 我觉得我有一个非常简单的问题 但我无法弄清楚 因此 我有一个程序需要大量用户输入 并且当前正在创建并附加带有结果的文本文档 我将在这里发布我