Xml XSL显示子值

Xml XSL显示子值,xml,xslt,Xml,Xslt,我有这样一个XML: <Cities> <City id="1"> <![CDATA[Paris]]> <Airport> <![CDATA[CDG]]> <Code value="par-cdg" /> </Airport> </City> </Cities>

我有这样一个XML:

<Cities>
  <City id="1">
    <![CDATA[Paris]]>
    <Airport>
      <![CDATA[CDG]]>
      <Code value="par-cdg" />
    </Airport>
  </City>
</Cities>

当我试图显示城市值“Paris”时,它会显示“ParisCDG”

要显示,我使用:


有人知道如何只显示当前节点值而不显示其子节点吗?

是的,因为xsl:value返回所谓的“字符串值”,它是元素及其所有子元素的文本内容的串联。请尝试以下操作:

<xsl:value-of select="//City[@id=1]/text()"/>



尝试修复:p这就是问题所在,多亏了纠正它的人;)它的发生是因为xsl的行为,它包含字符串?(注意单引号)
<xsl:value-of select="$Cities/City[@id=1]/text()"/>