Java Reference
In-Depth Information
this.xmlDoc = xmlDoc;
XMLResultSet resultSet = new XMLResultSet();
NodeList records = xmlDoc.getElementsByTagName(this.tableName);
if(where==null){
for(int i=0;i<records.getLength();i++){
Element record = (Element)records.item(i);
Node importedNode = resultSet.xmlDoc.importNode(record,true);
if(!fields.equals("*"))pruneFields(importedNode);
resultSet.xmlDoc.getDocumentElement().appendChild(importedNode);
}
}else{
Vector whereClauses = splitWhereClause(where);
XMLWhereEvaluator evaluator = new XMLWhereEvaluator(whereClauses);
for(int i=0;i<records.getLength();i++){
Element record = (Element)records.item(i);
if(evaluator.testRecord(record)){
Node importedNode = resultSet.xmlDoc.importNode(record,true);
if(!fields.equals("*"))pruneFields(importedNode);
resultSet.xmlDoc.getDocumentElement().appendChild(importedNode);
}
}
}
return resultSet;
}
// split the WHERE clause into a Vector of individual tests
protected Vector splitWhereClause(String whereClause){
Vector where = new Vector();
String subTest = "";
String token = "";
StringTokenizer st = new StringTokenizer(whereClause," ()",true);
while (st.hasMoreTokens()) {
token = st.nextToken();
if(token.equals("AND")||token.equals("OR")||
token.equals("(")||token.equals(")")){
subTest = subTest.trim();
if(subTest.length()>0)where.addElement(subTest);
where.addElement(token);
subTest="";
}else{
Search WWH ::




Custom Search