如何使用" current()[name()=' merge:change']" XSL中的语句类型

时间:2016-09-22 12:41:22

标签: xml xslt xslt-1.0 xslt-2.0

您好,             这是我正在处理的XML,我需要访问特定数据请帮助所需的输出是:Hello_World

<catalog 
    xmlns:merge="http://www.merge.org/change" >
    <cd>
        <title>
            <a>Empire Burlesque</a>
            <b>Manik</b>
        </title>
        <artist>       
            <a>Bob Dylan</a>
            <b>Aayush</b>
        </artist>
        <country>       
            <note>
                <para>A small quantity of hydraulic fluid on the inner cylinder is satisfactory 
                    <merge:change>Hello_World
                    </merge:change>
                </para>
            </note>
        </country>
        <company>Columbia</company>
        <price>10.90</price>
        <year>1985</year>
    </cd>
    <cd>
        <title>Hide your heart</title>
        <artist>Bonnie Tyler</artist>
        <country>UK</country>
        <company>CBS Records</company>
        <price>9.90</price>
        <year>1988</year>
    </cd>
</catalog>

现在我想访问使用merge:更改标签:使用current()[name()=&#39; merge:change&#39;]&#34;

等功能来更改标签

我写过这个XSL:但我没有得到任何输出

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:merge="http://www.merge.org/change">

    <xsl:template match="catalog">
        <xsl:for-each select="cd/country">
            <xsl:value-of select="current()/note/para [name()='merge:change']"/>
            <br/>
        </xsl:for-each> 
    </xsl:template>
</xsl:stylesheet>

有人可以帮忙吗?

所需的输出是:

Hello_World

1 个答案:

答案 0 :(得分:0)

变化

<xsl:value-of select="current()/note/para [name()='merge:change']"/>

<xsl:value-of select="current()/note/para/*[name()='merge:change']"/>

表达式para/*[name()='merge:change']表示名为merge:change

的段的子句