Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在XSL/XML中找到一个值并替换该值?_Xml_Xslt 1.0 - Fatal编程技术网

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

如何在XSL/XML中找到一个值并替换该值?,xml,xslt-1.0,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 > .

我有doc.XML文件:

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

bla-bla
zzz
我的文本

...
...
我需要将标记“word”的值替换为“my other text”。
我有来自命令的XML文件:
,但我不知道如何查找和替换标记的值。

此转换:

<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>
<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>

我的另一篇文章
应用于时(我假设是源XML文档)

<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>
<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>

布拉布拉
zz-zz-zz-zz
我的文字
生成所需的正确结果

<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>
<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>

布拉布拉
zz-zz-zz-zz
我的另一篇文章