1

我是 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,但它显示了包括 bcad e 在内的所有数据。谢谢您的帮助。

4

2 回答 2

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::*]
    这将选择具有元素兄弟的所有文本节点(即混合内容)

取决于你如何看待它。

于 2013-05-08T15:25:49.223 回答
0

做类似//A/的事情。不行?我不是专家,但我相信这应该只显示 A 节点的文本。

于 2013-05-08T15:18:59.593 回答