从元素中获取所有值

时间:2013-12-24 18:26:27

标签: xslt

鉴于以下XML,如何使用单个语句获取两个值? 我试过/ root / set / name /。没有运气。

 <root>
  <set>
   <name>John</name>
  </set>
  <set>
    <name>Jane</name>
  </set>
 </root>

2 个答案:

答案 0 :(得分:1)

如果要将输出作为John Jane使用此XSLT。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <xsl:output method="xml" omit-xml-declaration="yes" />
   <xsl:template match="root">
      <xsl:value-of select="normalize-space()" />
   </xsl:template>
</xsl:stylesheet>

这适用于,

<root>
  <set>
   <name>John</name>
  </set>
  <set>
    <name>Jane</name>
  </set>
</root>

将提供John Jane

答案 1 :(得分:0)

我认为你应该使用for-each。你可以用下面的方式得到每个名字。

<xsl:for-each select="root/set">
 <xsl:value-of select="name" />&nbsp;
</xsl:for-each>