在.NET中解析xml歌曲文件

时间:2011-05-30 16:30:15

标签: c# asp.net xml

我需要解析其中包含歌曲信息的多个xml文件。 结构是这样的:

<song_info>
 <title>Title1</title>
 <artist>Artist1</artist>
 <lyrics>Sample lyrics</lyrics>
</song_info>

用户输入一个短语,我需要在歌词标签中搜索该短语。如果歌词标签中存在该短语,我需要输出歌曲文件的链接。如何使用LINQ完成?我使用的是.NET 3.5。谢谢!

2 个答案:

答案 0 :(得分:2)

如果每个文件只包含一个歌曲信息,您可以这样做

XDocument xdoc = XDocument.Load("somefile.xml");
string phrase ="lyric";
if(xdoc.Descendants("lyrics").First().Value.Contains(phrase))
{
   //file contains phrase
}

答案 1 :(得分:0)

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);
    }
}