gpt4 book ai didi

C# - 检查值是否存在于从 XML 文件创建的列表中

转载 作者:行者123 更新时间:2023-11-30 23:20:23 24 4
gpt4 key购买 nike

我有一个小型 WinForm 应用程序,它是一个基本的墙纸抓取工具。它可以让用户将墙纸列入“黑名单”,这样就再也不会使用了。列入黑名单后,壁纸 URL、标题和 ID 将添加到以下格式的 XML 文件中:

<?xml version="1.0" encoding="utf-8"?>
<!--This file stores a list of any wallpapers you blacklist.-->
<Blacklisted>
<Wallpaper>
<URL>http://i.imgur.com/OU3v9H6.jpg</URL>
<Title>Gran Via Madrid Wallpaper [1920x1080]</Title>
<ThreadID>54fsi7</ThreadID>
</Wallpaper>
<Wallpaper>
<URL>http://i.imgur.com/TLXJmGB.jpg</URL>
<Title>The Golden wallpaper HD [1920*1080]</Title>
<ThreadID>55366b</ThreadID>
</Wallpaper>
</Blacklisted>

获取新壁纸时,系统会快速检查壁纸 URL 是否在列入黑名单的 XML 文件中。如果是,则不使用它并找到新墙纸。我检查墙纸是否被列入黑名单的代码实际上并没有导致任何错误,但是检查后的其余代码没有执行,所以我相信我的检查过程有问题并且代码只是“卡住”。这是我检查 XML 文件的代码:

string url = "http://example.url/image.jpg"            
XDocument xml = XDocument.Load("Blacklisted.xml");
var list = xml.Root.Elements("URL").Select(element => element.Value).ToList();

if(list.Contains(url))
{
updateStatus("Wallpaper is blacklisted.");
return;
}

最佳答案

您的列表似乎没有被正确填充。尝试使用 XDocument 对象中的 Descendants 方法。

var list = xml.Descendants("URL").Select(x=> x.Value).ToList();

关于C# - 检查值是否存在于从 XML 文件创建的列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39791013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com