将XML文件内容读写到某个标记下面的另一个XML文件



伙计们,我只是想知道如何从一个xml文件复制内容,并在JAVA语言中某些标签结束后将其写入另一个xml文件。

这是我的xmlfile1:

<dependencies>
<dependency>
<groupId>com.eventlistener</groupId>
<artifactId>Pel</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>

xmlfile2:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>autointelli</groupId>
<artifactId>proj_autointelli_internal_gopalakrishnan_execute_a_given_command_and_send_output_in_email</artifactId>
<version>19.0</version>
<name>proj_autointelli_internal_gopalakrishnan_execute_a_given_command_and_send_output_in_email</name>
<description>new project</description>
<repositories>
<repository>
<id>guvnor-m2-repo</id>
<name>Guvnor M2 Repo</name>
<url>/maven2/</url>
</repository>
</repositories>
</project>

需要将xmlfile1的内容粘贴到描述标签结束后的xmlfile2,而不覆盖已经存在的内容。

使用XSLT最容易做到这一点。假设XSLT 3.0(在Saxon库中可用),使用

转换xmlfile2
<transform version="3.0" xmlns="http://www.w3.org/1999/XSL/Transform">
<mode on-no-match="shallow-copy"/>
<template match="description">
<copy-of select="., doc('xmlfile1.xml')"/>
</template>
</transform> 

最新更新