如何在XSL/XML中找到一个值并替换该值?
我有doc.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 > .
...
...
< 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
我的另一篇文章