【发布时间】:2011-04-27 06:01:22
【问题描述】:
我试图通过使用 XPath 查询来解析 XML 节点中的字符串,该查询要求我删除一个子字符串并读取剩余的值。在我获得该值之前,子字符串前后可能有动态数量的空白,因此在 XPath 中使用某种 indexOf 函数会很有帮助。我正在尝试使用 substring-after,但 XPath 很有可能是 1.0,根据this post,这可能会使这更难完成。以下是我尝试解析的 XML 示例:
<root>
<myField> StringToParse 7</myField>
</root>
我正在尝试获取字符串中的值 7,这似乎可以通过 substring-after 和 normalize-space 的某种组合来实现。我不完全确定我是否正确使用它,因为无论我尝试使用哪种方式,结果要么是空值,要么是整个字符串,而子字符串没有被删除。
我能够返回整个价值(两害相权取其轻)的方式是:
/myField[substring-after(.,'StringToParse')]
我希望会返回 '7' 谁能告诉我我在语法上做错了,或者如果我应该使用其他方法来完成我想要的事情?
谢谢,
迈克
【问题讨论】:
-
好问题,+1。有关您遇到的问题的解释以及两种解决方案,请参阅我的答案。
标签: xml search xpath substring