Я пытаюсь использовать метод tokenize в вызове SelectNodes (""), чтобы отфильтровать некоторые вещи.Метод XPath tokenize(), не распознанный msxml3.dll
У меня есть кое-что вдоль линий:
<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")...
?
'empty',' tokenize' и 'intersect' - все функции XPath 2.0, а MSXML предоставляет только XPath 1.0. – JLRishe