近日的开发过程中遇到了需要对LIST中对象进行多属性检索(有时需要模糊查询),而且比较频繁(因为需要频繁操作所以不想使用数据库),原来使用C#开发时会使用DataTable对象,而Java中没有,所以经过多方收集资料,发现通过XML的Xpath方式可以实现
String regex = "";
if (value.length() > 3 && value.startsWith("%") && value.endsWith("%")) {
regex = "/" + key + "[contains(.,\"" + value.substring(1, value.length() - 1) + "\")]";
} else if (value.endsWith("%")) {
regex = "[contains(" + key + ",\"" + value.substring(0, value.length() - 1) + "\")]";
} else {
regex = "[" + key + "=\"" + value + "\"]";
}