【发布时间】:2020-09-23 17:24:34
【问题描述】:
我正在尝试从 xml 文档中搜索文本,其中删除了非 aplhanumeric 字符与输入文本匹配。例如:
要搜索的文本:“sometext”
<xml>
<elem>sometext</elem> <- match
<elem>some text</elem> <- match
<elem>some.text</elem> <- match
<elem>someetext</elem> <- no match
</xml>
这可以通过 xpath 实现吗?
【问题讨论】:
-
XPath 存在不同的版本,从 1999 年以来的 XPath 1.0 到 2017 年以来的 XPath 3.1。您可以使用哪个版本? XPath 2 及更高版本支持基于正则表达式的更强大的字符串操作。即使在 XPath 1 中它通常也是可行的,您只需要使用
translate函数从 elem 中删除您不想包含的任何内容,例如对于那个简单的例子/xml/elem[translate(., ' .', '') = 'sometext'] -
谢谢,翻译应该可以。如果您将其添加为答案,我会接受。