如何在XSL / XML中找到值并替换该值?

时间:2013-01-02 21:14:30

标签: xml xslt-1.0

我有doc .XML文档:

...
...
< memberValuePairs >
    < member path="Blabla">bla bla< /member >
    < member path="Zzzz">zz z z zzz< /member >
    < member path="word">my text< /member >
< /memberValuePairs >
...
...

我需要替换标签的值,&#34; word&#34;,在这种情况下,单词:&#34; my text&#34;到了#34;我的另一个文字&#34;。 我有来自命令的文件XML:< xsl:copy >但我不知道如何查找和替换标记的值。

1 个答案:

答案 0 :(得分:0)

此转化

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="node()|@*">
  <xsl:copy>
   <xsl:apply-templates select="node()|@*"/>
  </xsl:copy>
 </xsl:template>

 <xsl:template match="member[@path='word']/text()[1]">
  <xsl:text>my another text</xsl:text>
 </xsl:template>
</xsl:stylesheet>
应用时

(我假设是源XML文档)

<memberValuePairs>
    <member path="Blabla">bla bla</member>
    <member path="Zzzz">zz z z zzz</member>
    <member path="word">my text</member>
</memberValuePairs>

生成想要的正确结果

<memberValuePairs>
   <member path="Blabla">bla bla</member>
   <member path="Zzzz">zz z z zzz</member>
   <member path="word">my another text</member>
</memberValuePairs>
相关问题