C# 在.NET中解析xml歌曲文件
我需要解析多个包含歌曲信息的xml文件。 结构是这样的:C# 在.NET中解析xml歌曲文件,c#,asp.net,xml,C#,Asp.net,Xml,我需要解析多个包含歌曲信息的xml文件。 结构是这样的: <song_info> <title>Title1</title> <artist>Artist1</artist> <lyrics>Sample lyrics</lyrics> </song_info> 标题1 艺人1 歌词样本 用户输入一个短语,我需要在歌词标签中搜索该短语。如果歌词标签中存在短语,我需要输出指向歌曲文件的链接。
<song_info>
<title>Title1</title>
<artist>Artist1</artist>
<lyrics>Sample lyrics</lyrics>
</song_info>
标题1
艺人1
歌词样本
用户输入一个短语,我需要在歌词标签中搜索该短语。如果歌词标签中存在短语,我需要输出指向歌曲文件的链接。LINQ是如何做到这一点的?我正在使用.NET3.5。谢谢 如果每个文件只包含一首歌的信息,您可以
XDocument xdoc = XDocument.Load("somefile.xml");
string phrase ="lyric";
if(xdoc.Descendants("lyrics").First().Value.Contains(phrase))
{
//file contains phrase
}
string关键字=“dummy”;
列表文件=新列表();
foreach(目录.GetFiles(@“d:\lyms”)中的var文件)
{
XmlDocument doc=新的XmlDocument();
单据加载(文件);
if(doc.SelectSingleNode(“/song\u info/lysts”).InnerText.Contains(关键字))
{
文件。添加(文件);
}
}
是的,每个xml文件包含一首歌曲!
string keyword = "dummy";
List<string> files = new List<string>();
foreach (var file in Directory.GetFiles(@"d:\lyrics"))
{
XmlDocument doc = new XmlDocument();
doc.Load(file);
if (doc.SelectSingleNode("/song_info/lyrics").InnerText.Contains(keyword))
{
files.Add(file);
}
}