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