除了使用数据集进行 xml 读取之外,还有其他方法吗?
本文关键字:其他 方法 读取 数据集 xml | 更新日期: 2023-09-27 18:33:50
我基本上只想将xml读入赛马类。我有这段代码,但(列表)行[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;
}
请帮忙。似乎数据集单元格无法接受列表。
顺便说一下,会议也是另一个多元素节点。
编辑:
该 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 读入赛马课。
您可以使用
XDocument读取XML文件。XDocument 需要一个 XML 源,而 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、批准和原因值的列表或数组。
我希望这有帮助!祝你好运!
亲爱的问候,比约恩