WebClient wClient = new WebClient();
wClient.Encoding = Encoding.UTF8;
String strSource = wClient.DownloadString(url);
String[] Lines = strSource.Split('\n');
List<Dictionary<String, String>> ListReturn = new List<Dictionary<string,string>>();
System.Text.RegularExpressions.Regex regExpr = new System.Text.RegularExpressions.Regex("^\\$array\\[\"([0-9].*)\"\\]\\[\"([0-9a-zA-Z_\\-].*)\"\\] = \"(.*)\";$");
foreach (String Line in Lines)
{
if (regExpr.IsMatch(Line))
{
System.Text.RegularExpressions.Match match = regExpr.Match(Line);
System.Text.RegularExpressions.Group g_id = match.Groups[1];
System.Text.RegularExpressions.Group g_key = match.Groups[2];
System.Text.RegularExpressions.Group g_value = match.Groups[3];
System.Text.RegularExpressions.CaptureCollection cc_id = g_id.Captures;
System.Text.RegularExpressions.Capture c_id = cc_id[0];
System.Text.RegularExpressions.CaptureCollection cc_key = g_key.Captures;
System.Text.RegularExpressions.Capture c_key = cc_key[0];
System.Text.RegularExpressions.CaptureCollection cc_value = g_value.Captures;
System.Text.RegularExpressions.Capture c_value = cc_value[0];
int id = Convert.ToInt16(c_id.ToString());
String key = c_key.ToString();
String value = c_value.ToString();
if (ListReturn.Count() > id && ListReturn[id] != null)
{
ListReturn[id].Add(key, value);
}
else
{
Dictionary<String, String> directory = new Dictionary<string,string>();
directory.Add(key, value);
ListReturn.Add(directory);
}
}
}