如何通过XSL在节点之间定位XML数据

时间:2013-05-08 15:12:17

标签: xml xslt

我是XML和XSL的新手,不好意思问一个愚蠢的问题。如何使用XSL定位数据'a'。

<A>
  <B>b</B>
  <C>c</C>
  a
  <D>d</D>
  <E>e</E>
</A>

我已经搜索了答案并学会了使用Xpath找到b,c,d,e。当涉及数据a时,我失败了。我尝试使用路径A,但它显示了所有数据,包括b c a d e。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

几种可能性:

  • /A/text()
    选择<A>

  • 的所有子文本节点
  • /A/text()[not(normalize-space() = '')]
    选择<A>

  • 的所有非空文本子项
  • /A/text()[3]
    这将从您的示例中专门选择'\n a\n '节点(请注意,还有一些仅限空格的文本节点!)

  • /A/C/following-sibling::text()[1]
    这将从您的示例中专门选择'\n a\n'节点

  • //text()[following-sibling::* or preceding-sibling::*]
    选择所有具有元素兄弟节点的文本节点(即混合内容)

取决于你如何看待它。

答案 1 :(得分:0)

像// A /。不行?我不是专家,但我相信这应该仅显示A节点的文本。