如何用键号替换两个文件之间的文本

时间:2019-11-12 07:25:09

标签: xml

我有2个XML文件。我想用一个代码号替换它们之间的文本。

文件1:

<Text Key="94A47551">Hello World</Text>

文件2

<Text Key="94A47551">Hi Friend</Text>

我的代码为“ 94A47551”。我不会将文件1中的文本“ Hello World”替换为文件2。现在文件2将文件1中的“ Hi Friend”替换为“ Hello World”。

结果 文件2:

<Text Key="94A47551">Hello World</Text>

从那里,我只需要依靠代码号来替换2个文件的文本。只是相同的代码号替换了文本。 有批量更换工具吗?帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

这本质上与关系联接操作相同,并且可以在XQuery或XSLT中轻松实现。

在XSLT中,定义一个键:

<xsl:key name="k" match="Text" use="@key"/>

,然后使用模板规则处理第二个文件:

<xsl:template match="Text">
  <xsl:copy>
    <xsl:value-of select="key('k', @Key, $file2)"/>
  </xsl:copy>
</xsl:template>

其中$file1是对全局变量的引用

<xsl:variable name="file2" select="document('file1.xml')"/>
相关问题