我基本上只是想把xml读成赛马课。我有这个代码但是(List)rows [1]总是返回0
public List<HorseRacing> ReturnListOfHorseRacings()
{
string xmlData = HttpContext.Current.Server.MapPath("~/XML/top.xml");
DataSet ds = new DataSet();
ds.ReadXml(xmlData);
var horseRacing = new List<HorseRacing>();
horseRacing = (from rows in ds.Tables[0].AsEnumerable()
select new HorseRacing
{
name= rows[0].ToString(),
meetings= (List<Meeting>)rows[1],
}).ToList();
return horseRacing;
}
请帮忙。似乎数据集单元格无法接受列表。
顺便说一句,Meeting也是另一个多元素节点。
编辑:
xml看起来像这样:
<horseracing>
<name>UK / IRE</name>
<meetings>
<meeting>
<name>Doncaster</name>
<marketgroups>
<marketgroup>
<name>5f Cond Stakes</name>
<idfwmarketgroup>468262.1</idfwmarketgroup>
<tsstart>2013-03-22T13:25:00</tsstart>
</marketgroup>
<marketgroup>
<name>1m 2 1/2f Handicap</name>
<idfwmarketgroup>468263.1</idfwmarketgroup>
<tsstart>2013-03-22T14:00:00</tsstart>
</marketgroup>
</marketgroups>
</meeting>
<meeting>
<name>Newbury</name>
<marketgroups>
<marketgroup>
<name>2m 5f 0y Emma Lavelle Racing Maiden Hurdle</name>
<idfwmarketgroup>468270.1</idfwmarketgroup>
<tsstart>2013-03-22T14:10:00</tsstart>
</marketgroup>
<marketgroup>
<name>2m 6f 110y Mark Polding Half Century Handicap Chase</name>
<idfwmarketgroup>468271.1</idfwmarketgroup>
<tsstart>2013-03-22T14:40:00</tsstart>
</marketgroup>
</marketgroups>
</meeting>
</meetings>
</horseracing>
对不起。 编辑第二部分: 我想把xml读成一个赛马课。
答案 0 :(得分:0)
您可以使用XDocument读取XML文件。 XDocument需要一个XML提要,而这需要一个字符串提要。在代码中,它看起来像这样:
XDocument coordinates = XDocument.Load (XmlReader.Create (new StringReader (File.ReadAllText (pathOfFile))));
然后,您可以使用foreach循环遍历XDocument:
foreach (var coordinate in coordinates.Descendants("document"))
{
string data = coordinate.Element ("object").Value;
}
“后代”用于仅搜索给定标记的子项。 “元素”用于从给定标记中获取所有数据。如果您的XML看起来像这样:
<document>
<object>
<id>17</id>
<userID>128321</userID>
<approved>1</approved>
<reason>Test "Declined"</reason>
</object>
<object>
<id>18</id>
<userID>128321</userID>
<approved>2</approved>
<reason>Test "Confirmed"</reason>
</object>
<document>
使用上述方法,您将能够使用id,userID,approved和reason值启动List或Array。
我希望这有帮助!祝你好运!
亲爱的问候, 的Björn