Я вызываю API, который возвращает XML в следующем формате: (скриншот) xmlstring
string xmlstring = "<?xml version='1.0' encoding='iso-8859-1'?>" +
"<XMLStore >" +
"<Requests>" +
"<SessionListRequest application_id='' execute='0' id='SessionListRequest1' limit='' owner='' precedence='1' request_state='1' result_parent='.' session_id=''>" +
"<SessionList>" +
"<SessionListItem application_id='' create_time='2018-06-01 13:46:19.980' expiration_time='2019-06-01 13:46:19.980' owner='ADMIN' session_id='1599956' timeout='525600'/>" +
"<SessionListItem application_id='' create_time='2018-06-01 13:48:44.950' expiration_time='2019-06-01 13:48:44.950' owner='ADMIN' session_id='1599960' timeout='525600'/>" +
"<SessionListItem application_id='' create_time='2018-07-30 12:11:35.363' expiration_time='2019-07-30 12:11:35.363' owner='ADMIN' session_id='1736196' timeout='525600'/>" +
"<SessionListItem application_id='' create_time='2019-07-30 06:48:00.763' expiration_time='2020-07-29 06:48:00.763' owner='WSADMIN' session_id='3709176' timeout='525600'/>" +
"</SessionList>" +
"</SessionListRequest>" +
"</Requests>" +
"</XMLStore>";
Я хотел бы отобразить атрибуты SessionListItem в класс. Пробовал много способов, используя XmlDocument и Xelement, ничего не работает, как ожидалось.
var rootElement = XElement.Parse(xmlstring);
XElement el = rootElement.Element("Requests").Element("SessionListRequest").Element("SessionList");
//var els = (from elm in el
// select elm).ToList();
var serializer = new XmlSerializer(typeof(SessionList));
var data = (SessionList)serializer.Deserialize(el.CreateReader());
SessionsList
- это класс, обладающий свойствами, аналогичными атрибутам элемента SessionListItem
. приведенный выше код не будет отображать атрибуты, вместо этого он ожидает элементы.
Пожалуйста, дайте мне знать, если есть какой-либо другой способ, которым я могу сопоставить это с классом и отправить ответ в методе WEB API как объект класса.
Заранее спасибо !!!