public static Properties ParseAttributes(String str)
{
Properties result = new Properties();
if (str == null)
return result;
StringTokenizer keyValuePairs = new StringTokenizer(str, ";");
StringTokenizer keyValuePair;
String key;
String value;
while (keyValuePairs.HasMoreTokens()) {
keyValuePair = new StringTokenizer(keyValuePairs.NextToken(), ":");
if (keyValuePair.HasMoreTokens())
key = keyValuePair.NextToken().Trim();
else
continue;
if (keyValuePair.HasMoreTokens())
value = keyValuePair.NextToken().Trim();
else
continue;
if (value.StartsWith("\""))
value = value.Substring(1);
if (value.EndsWith("\""))
value = value.Substring(0, value.Length - 1);
result[key.ToLowerInvariant()] = value;
}
return result;
}