读书人

查询节点时SelectSingleNode支持正则表

发布时间: 2012-02-29 16:44:10 作者: rapoo

查询节点时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

读书人网 >XML SOAP

热点推荐