1

我正在研究 XSL,我对替换字符串中的特定字符有疑问。

我们有xml文件

<family>
-<familyid id="first">
--<name>smith</name>
--<image>fatherpic\myfather.jpg</image>

我想获得插入图片的图像路径。

例如,我们有路径“fatherpic\myfather.jpg”

然后我想选择“fatherpic/myfather.jpg”

这意味着我想将“/”更改为“\”。

我试图使用翻译功能。但它没有用。

有没有人可以举个例子?谢谢

4

2 回答 2

1

以下 xslt 将打印将图像元素中的 '\' 替换为 '/',并将打印 xml 文件的其余部分不变。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" />
    <xsl:template match="node() | @*">
        <xsl:copy>
            <xsl:apply-templates select="node() | @*" />
        </xsl:copy>
    </xsl:template>
    <xsl:template match="image">
        <image>
            <xsl:value-of select="translate(., '\', '/')" />
        </image>
    </xsl:template>
</xsl:stylesheet>
于 2013-02-22T10:04:52.320 回答
0

正如您在帖子中所说,您可以使用翻译功能。

以下样式表提取图像值的值,并在进行所描述的字符串翻译后将其像文本一样输出。这只是一个如何使用翻译功能的例子。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:output method="text" indent="no" />

    <xsl:template match="text()" />

    <xsl:template match="image">
        <xsl:value-of select="translate(., '\', '/')" />
    </xsl:template>

</xsl:stylesheet>

希望能帮助到你。

于 2013-02-22T10:01:14.960 回答