在下面的xml代码中,我需要得到;b1“;及;b2“;作为使用xslt的输出

在下面的xml代码中,我需要得到;b1“;及;b2“;作为使用xslt的输出,xml,xslt,Xml,Xslt,在下面的xml代码中,我需要使用xslt将“b1”和“b2”作为输出 <xml> <a> <b> <b1>b1value</b1> <b2>b2value</b2> </b> <b> <b1>b1value2</b1>

在下面的xml代码中,我需要使用xslt将“b1”和“b2”作为输出

<xml>
    <a>
        <b>
            <b1>b1value</b1>
            <b2>b2value</b2>
        </b>
        <b>
            <b1>b1value2</b1>
            <b2> 2value2</b2>
        </b>
    </a>
</xml>
我需要的输出是:

b1 
b2
你是说:

<xsl:for-each select="xml/a/b/*[text()='b1value']">

不清楚您想要得到什么样的输出

但是,您没有从XSLT中获得任何输出的原因是,在每个的
中,您的xpath正在查找
的任何子级,这些子级也有一个包含“b1value”的子级

您需要移动谓词:

  <xsl:template match="/">
    <html>
      <body>
        <xsl:for-each select="xml/a/b[b1='b1value']/*">
          <xsl:value-of select="local-name()"/>
          <br> </br>
        </xsl:for-each>
      </body>
    </html>
  </xsl:template>




您是否试图为
b
元素的所有子元素获取不同的元素名称?这是一个不明确的问题。
b1 
b2
<xsl:for-each select="xml/a/b/*[text()='b1value']">
  <xsl:template match="/">
    <html>
      <body>
        <xsl:for-each select="xml/a/b[b1='b1value']/*">
          <xsl:value-of select="local-name()"/>
          <br> </br>
        </xsl:for-each>
      </body>
    </html>
  </xsl:template>