是否可以在XPath 1.0的文本节点中获取最后一次换行?

时间:2015-05-22 16:05:49

标签: xpath

我认为答案是"没有"但无论如何我还会问。你能用XPath 1.0找到文本节点中最后一次出现的换行符吗?

E.g。鉴于以下XML,我想找到最后一个换行符(紧接在"第二个"之后)以获取文本"第三个"。

<element> first
  second
  third </element>

如果我知道最后一个换行符的位置,那么在它之后获取文本将是微不足道的。我实际上并不希望返回该值,只是对其进行测试。

据我所知,XPath 1.0没有任何:

  • 反向文字功能
  • 字符轴/节点
  • 正则表达式
  • string split

上述任何一项都足以解决这个问题!

1 个答案:

答案 0 :(得分:2)

  

您是否可以使用XPath 1.0找到文本节点中最后一次出现的换行符?

没有。 XPath通常不是为了进行字符串处理而设计的。

当然,在XPath 2.0中,您可以通过将输入标记为序列然后从该序列中获取最后一个元素来实现。但严格来说,这不符合文本处理的条件,它是序列处理。换句话说,它实际上不会给你最后一个换行符的位置。

使用XPath 1.0,您将不得不以宿主语言完成这项工作。