C#检查XML是否包含字符串

时间:2018-04-23 10:56:00

标签: c# xml boolean contains

我需要列出我的系列,所以我编写了一个小工具,将某个文件夹中的系列名称保存到xml文件中。 我曾经有一个txt-File但随着时间的推移变得混乱。

此工具会在特定时间点更新txt文件中的系列列表。 目前我使用此代码:

List<string> seriesList = File.ReadAllLines(@"C:\path\series.txt").ToList();
bool contains = seriesList.Contains(series, StringComparer.OrdinalIgnoreCase);
if (contains)
{
    return;
} 
else 
{
    addToList()
}

我的txt中的系列名称保存如下:

  

氪。

     

NCIS.Los.Angeles。

在我的xml文件中,系列名称列出如下:

<?xml version="1.0" encoding="utf-8"?>
<collection>
  <series>Krypton.</series>
  <series>NCIS.Los.Angeles.</series>
</collection>

现在我需要类似我的“包含”功能,如上所述。 如果没有for循环,这将会很好。

编辑:(完成)

XDocument xDocSload = XDocument.Load(Directory.GetCurrentDirectory() + @"\settings\series.xml");

var sList = xDocSload.Root.Elements("seriesName").Select(element => element.Value).ToList();

List<string> seriesList = sList;

bool contains = seriesList.Contains(series, StringComparer.OrdinalIgnoreCase);
if (contains)
{
...

1 个答案:

答案 0 :(得分:0)

线条是字符串。你想看看是否有任何字符串包含一个子字符串 - 所以只需使用LINQ的Any。

(也摆脱了回报,使代码更难阅读) var isThere = seriesList.Any(s => s.Contains(series, )); if(!isThere) { addToList(); }