XSLT foreach默认值

时间:2015-03-21 17:43:30

标签: xml xslt

XML

  <CodeLists>
    <CodeList Code="Add" Description="Add1"  />
    <CodeList  Code="city" Description="City"  />
     <CodeList  Code="Name" Description="Names"  />
  </CodeLists>

XSLT

 <xsl:for-each select="/CodeLists/CodeList">
    <option>
        <xsl:attribute name="value">
             <xsl:value-of select="@Code"/>
        </xsl:attribute>
        <xsl:value-of select="@Description"/>
    </option
 </xsl:for-each>

我在下拉菜单(字母顺序)中得到如下结果  但是我希望在下拉菜单中将默认值设置为City。我该怎么办?  那?

ADD1
   市
   名称

我尝试在xslt中添加以下子句,但未将Name设置为默认值。

  <xsl:if test="@Code = 'Name'">
      <xsl:attribute name="selected">1</xsl:attribute>
  </xsl:if>

1 个答案:

答案 0 :(得分:1)

如果您想要选择城市,这应该有效:

 <xsl:for-each select="/CodeLists/CodeList">
    <option>
        <xsl:attribute name="value">
             <xsl:value-of select="@Code"/>
        </xsl:attribute>
        <xsl:if test="@Code = 'city'">
            <xsl:attribute name="selected">selected</xsl:attribute>
        </xsl:if>
        <xsl:value-of select="@Description"/>
    </option>
 </xsl:for-each>

另外,不确定为什么city在xml中是小写的,但只是偏离了你提供的代码。您可能希望保持一致。