XML:用另一个XML文件的内容替换值以生成新文件

XML:用另一个XML文件的内容替换值以生成新文件,xml,Xml,我有一个名为ori.xml的文件: <tags> <tag1>value1</tag1> <tag2>value2</tag2> <tag3>value3</tag3> <tag4>value4</tag4> </tags> 价值1 价值2 价值3 价值4 另一个名为modifs.xml: <tag2>newvalue2</tag2>

我有一个名为ori.xml的文件:

<tags>
  <tag1>value1</tag1>
  <tag2>value2</tag2>
  <tag3>value3</tag3>
  <tag4>value4</tag4>
</tags>

价值1
价值2
价值3
价值4
另一个名为modifs.xml:

<tag2>newvalue2</tag2>
<tag4>newvalue4</tag4>
newvalue2
新价值4
我想获得result.xml:

<tags>
  <tag1>value1</tag1>
  <tag2>newvalue2</tag2>
  <tag3>value3</tag3>
  <tag4>newvalue4</tag4>
</tags>

价值1
新价值2
价值3
新价值4
先验地,我不知道modifs.xml中是哪个标记(例如,它可能只是tag3)。 因此,我需要在ori.xml中搜索modifs.xml的标记并更改值。 我已经找到了一种实现这一点的方法,似乎PERL或XSLT(我必须学习)可以帮助我实现这一点。这是正确的方法吗?你能帮我开始吗?
提前感谢。

您将创建一个xsl文件,用于转换ori.xml。xsl文件需要具有具有modifs文件值的参数或属性:

<xsl:param name="modif_tag"/>
      <xsl:value-of select="document('modifs.xml')/tags" />
</xsl:param name="modifs"/>


XSLT将是一个不错的选择,因为它的开发正是为了这个目的:操作XML文件。这项任务也可以仅通过XSLT-1.0实现,因此您可以使用几乎任何XSLT处理器,但有一个限制:您的
modifs.xml
必须有一个根元素。否则,您必须使用更高版本的XSLT。谢谢。所以我将学习xslt。