关于使用XML,在搜索字符串中指示通配符(星号和问号)而不在字符串本身中指定通配符的最有效和/或最优雅的方法是什么?
例如,这是无效的:
<searchString>
<searchFor>*cat??</searchFor>
</searchString>
这是有效的:
<searchString>
<searchFor>cat</searchFor>
<wildcards>
<asterisk>
<offset>0</offset>
</asterisk>
<questionMark>
<offset>3</offset>
<count>2</count>
</questionMark>
</wildcards>
</searchString>
请注意,上面的有效示例也存在一个问题,无法指定搜索字符串*??cat
其中出现两种不同类型的通配符具有相同的偏移值。这也必须得到照顾。
您可以使用:
<searchString>
<asterisk/>
<questionMark/>
<questionMark/>
<text>cat</text>
</searchString>
这解决了最后一个问题,并且在需要时可以轻松转换为完整的查询字符串。