查询节点时SelectSingleNode支持正则表达式吧?
我想用xml文件记录文本框内输入的字符,输入的字符最终会生成正则表达式的Pattern,所以文本框内会有一些正则表达式的特殊字符。
比如文本框string1=“ </a> <span> \(”,这样再查询xml内是否有相同字符串时就会出错,看代码:
IF Not TypeName(a_obj.SelectSingleNode( "Pattern/NewList/list[sid=1][patt= ' </a> <span> \( '] ")) = "Nothing " Then
Set a_obj = Nothing
Exit Function
End IF
我要查的是patt= ' </a> <span> \( '
而实际查的patt= ' </a> <span> ( '
是不是SelectSingleNode按正则表达式给解析了,如果是该怎么限制呢。
我知道可以提前替换字符,可我不想用。
<?xml version= "1.0 " encoding= "gb2312 "?>
<Pattern>
<NewList>
<list>
<sid> 1 </sid>
<patt> <![CDATA[ </a> <span> \(]]> </patt>
</list>
</NewList>
</Pattern>
[解决办法]
节点的位置判断错误。
参考这篇:http://blog.csdn.net/cds27/archive/2006/05/02/705490.aspx