我试图在 SelectNodes(" ") 调用中使用 tokenize 方法来过滤掉一些东西。
我有一些类似的东西:
<nodes>
<node colors="RED,BLUE,YELLOW"/>
</nodes>
我的xpath是这样的:
nodes/node[not(empty(tokenize("GREEN,YELLOW,PURPLE", ",") intersect tokenize(@colors, ",")))]
简单地说,我有两个逗号分隔列表,一个作为属性,一个作为属性的“过滤器”。我想选择所有节点,其中@colors
某处包含"GREEN,YELLOW,PURPLE"
.
我以为我有那个 XPath 的解决方案,但似乎是:A:我做错了什么,或者 B:我使用的 XML DOM 文档的版本不支持tokenize()
上面的 XPath 在 SelectNodes( ) 调用中会抛出一条错误消息,说 msxml3.dll: Unknown method.",然后指向该tokenize()
方法。
我尝试做 setProperty("SelectionLanguage", "XPath"),但这似乎也没有解决问题。
有什么方法可以让我执行等效的 XPath 选择,而无需求助于一堆and contains(@colors, "GREEN") and contains(@colors, "YELLOW")...
?