public void EndElement(String tag) {
if ( tag.Equals("value") ) {
String fName = "";
for (int k = 0; k < fieldNames.Count; ++k) {
fName += "." + (String)fieldNames[k];
}
if (fName.StartsWith("."))
fName = fName.Substring(1);
String fVal = (String) fieldValues.Pop();
String old = (String)fields[fName];
fields[fName] = fVal;
if (old != null) {
ArrayList l = (ArrayList) listFields[fName];
if (l == null) {
l = new ArrayList();
l.Add(old);
}
l.Add(fVal);
listFields[fName] = l;
}
}
else if (tag.Equals("field") ) {
if (fieldNames.Count != 0)
fieldNames.Pop();
}
}