xpath表达式不返回子节点

时间:2013-02-08 09:06:05

标签: xml xslt xpath

我已经设置了一个简单的xpath表达式,我希望它可以立即使用,我现在尝试了很多变种,但仍然无法检索核心信息:

<xsl:when test="$pageType='siteExtraLinks'">/home/section[name=&apos;Extra&apos;]/instance/*[starts-with(name(),'extraLinks') and boolean(.)]</xsl:when>    
<xsl:when test="$pageType='siteExtraLinksText'">/home/section[name=&apos;Extra&apos;]/instance/*[starts-with(name(),'extraLinks') and boolean(.)]/text</xsl:when>    
<xsl:when test="$pageType='siteExtraLinksHref'">/home/section[name=&apos;Extra&apos;]/instance/*[starts-with(name(),'extraLinks') and boolean(.)]/href</xsl:when>    
<xsl:when test="$pageType='siteExtraLinksExtraText'">/home/section[name=&apos;Extra&apos;]/instance/*[starts-with(name(),'extraLinks') and boolean(.)]/extraText</xsl:when>    

XML输出正确

<extraLinks0>
  <text>text 0</text>
  <href>link 0</href>
  <extraText>extra text 0</extraText>
</extraLinks0>
<extraLinks1>
  <text>text 1</text>
  <href>link 1</href>
  <extraText>extra text 1</extraText>
</extraLinks1>

Buts在docent上读错了

text 0 link 0 extra text 0<br />
text 0 link 0 extra text 0

1 个答案:

答案 0 :(得分:0)

通过在xpath中进行相对引用来解决。