如何使用XSL转换和XML通过其属性值访问元素?

all*_*gan 7 xml xslt xhtml

我试图使用XSL转换将XML文档转换为XHTML,并想知道如何在给定其属性值的情况下选择XML元素.例如

<image size="small">http:example.small.jpg</image>
<image size="medium">http:example.medium.jpg</image>
<image size="large">http:example.largw.jpg</image>
Run Code Online (Sandbox Code Playgroud)

我只想从size ="medium"的image标签访问值"http:example.medium.jpg".

任何帮助是极大的赞赏.

盟友

car*_*tor 9

<xsl:value-of select="image[@size='medium']" />
Run Code Online (Sandbox Code Playgroud)


Wel*_*bog 6

这个XPath表达式将为您提供所需的结果:

//image[@size='medium']
Run Code Online (Sandbox Code Playgroud)

这是一个非常基本的XPath问题.我建议您通过W3C School的XPath教程中的一些示例,因为XPath是一个非常有表现力和有用的工具.

要在XSL样式表中使用它,您可能会从以下内容开始:

<xsl:template match="/">
  <xsl:value-of select="//image[@size='medium']"/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

同样,这是非常基本的XSL,所以如果你想了解更多,我建议你看一下W3C School的XSLT教程.当我需要查看有关我可能忘记的事情的详细信息时,我就去了.