这是我用来从 html 文件中提取 url 的代码:
private void test(string firstTag, string lastTag, string f)
{
List<string> imagesUrls = new List<string>();
int startIndex = 0;
int endIndex = 0;
int position = 0;
string startTag = firstTag;//"http://www.niederschlagsradar.de/images.aspx";
string endTag = lastTag;//"cultuur=en-GB&continent=europa";
startIndex = f.IndexOf(startTag);
while (startIndex > 0)
{
endIndex = f.IndexOf(endTag,startIndex);
if (endIndex == -1)
{
break;
}
string t = f.Substring(startIndex, endIndex - startIndex + endTag.Length);
imagesUrls.Add(t);
position = endIndex + endTag.Length;
startIndex = f.IndexOf(startTag,position);
}
string item = imagesUrls[imagesUrls.Count - 1];
imagesUrls.Remove(item);
for (int i = 0; i < imagesUrls.Count; i++)
{
if (f == satelliteMapToRead)
{
imagesUrls[i] = stringForSatelliteMapUrls + imagesUrls[i];
}
using (WebClient client = new WebClient())
{
client.DownloadFile(imagesUrls[i], UrlsPath + "Image" + counter.ToString("D6"));
}
counter++;
}
List<string> files = Directory.GetFiles(UrlsPath).ToList();
uf.MakeGIF(files, localFilename + "weather", 80, true);
}
变量 f 是我从中读取所有文本的 html 文件。在这个 html 文件中,List imagesUrls 包含 9 项:
列表中的第一项是:
http://www.sat24.com/image2.ashx?region=eu&time=201309172215&ir=true
列表中的第二项是:
http://www.sat24.com/image2.ashx?region=eu&time=201309172200&ir=true
在第一个 url 中,日期和时间是:2013 09 17 22 15 日期是 2013 09 17,时间是 22:15
在第二项中,日期和时间是:201309172200 所以它从最后一个日期和时间 url 一个到第一个。这是html文件中的顺序。
在列表中填满 9 个项目后,如何在列表 imagesUrls 中更改它,以便从第一个到最后一个?
编辑**
我这样做了:
if (f == satelliteMapToRead)
{
sortedList =
imagesUrls
.OrderBy(s =>
DateTime.ParseExact(
System.Web.HttpUtility.ParseQueryString(s).Get("time"),
"yyyyMMddHHmm",
System.Globalization.CultureInfo.InvariantCulture));
for (int i = 0; i < sortedList.Count(); i++)
{
if (f == satelliteMapToRead)
{
imagesUrls[i] = stringForSatelliteMapUrls + imagesUrls[i];
}
using (WebClient client = new WebClient())
{
client.DownloadFile(imagesUrls[i], UrlsPath + "Image" + counter.ToString("D6"));
}
counter++;
}
}
但是在对列表进行排序后,我需要使用排序列表而不是 imagesUrls 列表,但它们不一样,因为 imagesUrls 是列表
那么我可以在这部分代码中将 sortedList 替换为 imagesUrls List 吗?