我有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个文件的文本。只是相同的代码号替换了文本。 有批量更换工具吗?帮我。谢谢。
答案 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')"/>