Xsl:xsl:value-of和电子邮件地址

时间:2010-11-30 21:36:55

标签: c# .net xslt

我写XSL已经很久了,我有这个模板:

<xsl:template match="TeamMember" mode="author">
    <xsl:element name="author">
      <xsl:attribute name="email">
        <xsl:value-of select="Email" />
      </xsl:attribute>
      <xsl:value-of select="Email" />
      <xsl:value-of select="DisplayName" />
    </xsl:element>      
  </xsl:template>

除了一件事之外,这似乎工作正常。它将输出Element BUT中的“Email”而不是属性。 XML Snippet beign匹配看起来像:

<TeamMember sequence="1" primaryIndicator="Yes" personID="102">
  <Role rank="1">Analyst</Role> 
  <LastName>YYY</LastName> 
  <FirstName>XXX</FirstName> 
  <MiddleName /> 
  <Position /> 
  <ClientCode /> 
  <Division ID="1" code="Equity Research" name="Equity Research" /> 
  <Office ID="1" name="" time_zone_name="(GMT-5:00) Eastern Time (US & Canada)" time_zone_short="EST" /> 
  <DisplayName>XXX YYY</DisplayName> 
  <Phone></Phone> 
  <Email>XXX.YYY@ZZZ.com</Email>
</TeamMember>

我正在使用.NET 4.0。

2 个答案:

答案 0 :(得分:0)

没关系。这是一个上游错误。遗憾。

答案 1 :(得分:0)

我最好使用:

<xsl:template match="TeamMember" mode="author"> 
    <author email="{Email}"> 
      <xsl:value-of select="DisplayName" /> 
    </author>       
</xsl:template>

注意:属性值模板。