Xml xpath表达式不返回子节点

Xml xpath表达式不返回子节点,xml,xslt,xpath,Xml,Xslt,Xpath,我已经设置了一个简单的xpath表达式,我希望它能够立即工作,现在我已经尝试了许多变体,但仍然无法检索到corect信息: <xsl:when test="$pageType='siteExtraLinks'">/home/section[name=&apos;Extra&apos;]/instance/*[starts-with(name(),'extraLinks') and boolean(.)]</xsl:when> <xsl:whe

我已经设置了一个简单的xpath表达式,我希望它能够立即工作,现在我已经尝试了许多变体,但仍然无法检索到corect信息:

<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>
但是讲解员的阅读错误

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

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

您的问题缺少很多信息。这些XPath引用的源XML在哪里?你想干什么?它在哪里显示不正确?我现在想了解的是,为什么不按照上面列出的方式编写Decentant。您的问题不包括对的任何使用。如果你不告诉我们你在做什么,我们怎么能告诉你如何修复你在做什么?源XML在哪里?我看不到第一个XSLT片段和第二个片段中的XML之间有任何联系。请清楚地解释它们之间的联系,最好是使用源XML和更完整的XSLT示例。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论-您可以随时在自己的帖子上发表评论,一旦有足够的评论,您就可以发表评论。解决方案文本用适当的解释更新您的答案(如果有)。