使用java写入xml文件的末尾

使用java写入xml文件的末尾,java,xml,parsing,dom,append,Java,Xml,Parsing,Dom,Append,下面我有一个现有的XML文件,我想用Java编写它。我正在尝试添加另一个模式元素,其中包含文件和版本id。我所做的是从最后一个模式元素中提取file和version id的值,然后增加这些值的版本号。我已经成功地做到了这一点,并设置了新的文件和版本值。我现在需要在一个新的模式元素下将它们添加到xml中 <?xml version="1.0" encoding="UTF-8"?> <jnlp-versions> <resource>

下面我有一个现有的XML文件,我想用Java编写它。我正在尝试添加另一个模式元素,其中包含文件和版本id。我所做的是从最后一个模式元素中提取file和version id的值,然后增加这些值的版本号。我已经成功地做到了这一点,并设置了新的文件和版本值。我现在需要在一个新的模式元素下将它们添加到xml中

  <?xml version="1.0" encoding="UTF-8"?>
    <jnlp-versions>
      <resource>
        <pattern>
            <file>somejar_2_100_1_client.jar</file>
            <version-id>2.100.1</version-id>
        </pattern>
        <pattern>
            <file>somejar_2_100_2_client.jar</file>
            <version-id>2.100.2</version-id>
        </pattern>
        <name>jarclient.jar</name>
       </resource>
    </jnlp-versions>
我将使用库和方法将XML映射到java类并返回。首先,创建一个与XML匹配的java类,例如:

class JnlpVersions {
  Resource resource;
}

class Resource {
 String name;
 Set<Pattern> patterns;
}

class Pattern {
  String file;
  String versionId;
}
类JNLP版本{
资源;
}
类资源{
字符串名;
设定模式;
}
阶级模式{
字符串文件;
字符串版本ID;
}

然后将现有xml文件加载到
JnlpVersion
的实例中。获取其
资源
并向其添加新的
模式
。然后,使用XStream将实例保存到一个新的xml文件。

请注意,简单地附加到xml文件并不能得到有效的xml文件,因为您只需要一个根元素。您需要读入旧版本,进行更改,然后将其写出来,可以是流式处理,也可以是DOM操作
class JnlpVersions {
  Resource resource;
}

class Resource {
 String name;
 Set<Pattern> patterns;
}

class Pattern {
  String file;
  String versionId;
}