Я не могу разобрать узлы XML из URL. У проекта (MVC .net), над которым я сейчас работаю, есть модель с данными, которые я хочу получить:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyHR.Domain.Models
{
public class ExchangeRate
{
public string DataCurenta { get; set; }
public string Moneda { get; set; }
public string Valoarea { get; set; }
}
}
Тогда это мой контроллер (я пробовал разные методы, включая узлы, но я остановился на этом):
using MyHR.Domain.Models;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Xml;
using System.Xml.Linq;
namespace MyHR.Web.Controllers
{
public class ExchangeRateController : Controller
{
// GET: ExchangeRate
public ActionResult DisplayXml(List<ExchangeRate> exchangeRates)
{
List<ExchangeRate> data = new List<ExchangeRate>();
data = ReturnData();
return View(data);
}
public List<ExchangeRate> ReturnData()
{
string xmldata = @"http://www.bnr.ro/nbrfxrates.xml";
XDocument Xml = XDocument.Load(xmldata);
XDocument doc = new XDocument();
DataSet ds = new DataSet();
ds.ReadXml(xmldata);
//Loop through the selected Nodes.
//XmlNodeList xmlDate = doc.GetElementsByTagName("Cube");
//XmlNodeList listdata = doc.GetElementsByTagName("Rate");
var ratelist = new List<ExchangeRate>();
ratelist = (from ReturnData in doc.Descendants("Cube").Descendants()
select new ExchangeRate
{
DataCurenta = ReturnData.Element("date").ToString(),
//Moneda = ReturnData.Element("currency").ToString(),
//Valoarea = ReturnData.Element("description").ToString(),
}).ToList();
return ratelist;
}
}
}
Это XML, из которого я пытаюсь получить информацию: http://www.bnr.ro/nbrfxrates.xml
Кроме того, вид будет выглядеть так:
@using MyHR.Domain.Models
@model IEnumerable<MyHR.Domain.Models.ExchangeRate>
@{
/**/
ViewBag.Title = "DisplayXml";
}
<br><br />
<h1 align="center">Cursul valutar din data curenta</h1>
<br><br />
<meta name="Curs Valutar" content="width=device-width" />
<title>Index</title>
<table class="table table-responsive table-bordered">
<thead style="background-color:#88D0AA">
<tr align="center">
<th align="center">
DataCurenta
</th>
<th align="center">
Moneda
</th>
<th align="center">
Valoarea
</th>
</tr>
</thead>
<tbody>
@foreach (ExchangeRate exchange in Model)
{
<tr>
<td>@exchange.DataCurenta</td>
<td>@exchange.Moneda</td>
<td>@exchange.Valoarea</td>
</tr>
}
</tbody>
</table>
Как мне искать узлы XML-файла, а также выводить эти узлы в представление? Необходимыми узлами являются дата, валюта и стоимость валюты.
Заранее благодарю за поддержку.