1
我已經制作了這個代碼來從字符串中讀取一個xml文件,但它有問題。值得注意的是ReadToFollowing()方法什麼也沒有返回。它似乎尋找整個xmlstring,然後將XMLReader狀態設置爲EndofFile。我非常困惑,ReadStartElement()工作,下一個元素被視爲「標題」,如你所期望的。XmlReader.ReadtoFollowing has state EndofFile爲什麼?
這裏是我的代碼,我的想法是通過xml讀取我需要的字段;
List<string> contentfields = new List<string>() { "heading", "shortblurb", "description" };
string xml = @"<filemeta filetype='Audio'><heading>Fatigue & Tiredness</heading><shortblurb>shortblurb</shortblurb><description /><Comments /><AlbumTitle /><TrackNumber /><ArtistName /><Year /><Genre /><TrackTitle /></filemeta>";
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
reader.ReadStartElement("filemeta");
foreach (String field_str in contentfields)
{
reader.ReadToFollowing(field_str);
if (reader.Name.ToString() == field_str)
{
Console.WriteLine(field_str + " " + reader.ReadElementContentAsString());
}
}
}
Console.ReadKey();
`reader.Name`是字符串類型了,沒有必要爲`reader.Name.ToString()` – Somebody 2016-06-15 14:57:24