Прочитать данные из XML в один документ - C#
Формулировка задачи:
Всем привет.
Буду рад помощи.
Имею XML документ в котором нужно считать нужные позиции и вывести в строку.
Сам xml. Не часто с ними работаю
xml.rar
По коду идет класс с показателями xml дока
По контроллеру сделал так
Загвоздка в том, что при отображении страницы, получается что это не один документ, а несколько
Помогите странсформировать запрос так, чтобы считывало те поля, которые нужно в один документ (т.к. таких документов будет на считывание в дальнейшем много).
Или же вывести из коллекции lists все данные в одну строку
Пробовал вот так изначальнро, но выдавало ошибку, что не найден столбец 2.
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Xml.Serialization;
- namespace XmlHelper.External.Models
- {
- public class Document
- {
- [Display(Name = "Номер транспортного средства")]
- public string TR_NOMER { get; set; }
- [Display(Name = "Номер СМГС")]
- public string NOM_DOC { get; set; }
- [Display(Name = "Дата СМГС")]
- public DateTime DATE_DOC { get; set; }
- [Display(Name = "Номер ТД")]
- public string NOM_DOC2 { get; set; }
- [Display(Name = "Дата ТД")]
- public DateTime DATE_DOC2 { get; set; }
- [Display(Name = "Номер Счета")]
- public string NOM_DOC3 { get; set; }
- [Display(Name = "Дата Счета")]
- public DateTime DATE_DOC3 { get; set; }
- [Display(Name = "Регистрационный номер ЭУРВ")]
- public string RENGUM_PTO { get; set; }
- [Display(Name = "Дата")]
- public DateTime DATE_REG { get; set; }
- [Display(Name = "Дата помещения на временное хранение")]
- public string DATE_RAZR { get; set; }
- [Display(Name = "Номер размещения на временное хранение")]
- public string NUM_RAZR { get; set; }
- }
- }
Листинг программы
- public ActionResult Index()
- {
- var lists = new List<Document>();
- string xmlData = Server.MapPath("~/App_Data/1.xml");
- DataSet ds = new DataSet();
- ds.ReadXml(xmlData);
- var documents = new List<Document>();
- IList<int> index = new List<int>();
- index.Add(18);
- index.Add(19);
- index.Add(23);
- index.Add(24);
- documents = (from rows in ds.Tables[18].AsEnumerable()
- select new Document
- {
- TR_NOMER = rows[0].ToString()
- }).ToList();
- foreach (var data in documents)
- {
- lists.Add(data);
- }
- documents = (from rows in ds.Tables[19].AsEnumerable()
- select new Document
- {
- NOM_DOC = rows[1].ToString(),
- DATE_DOC = Convert.ToDateTime(rows[2].ToString())
- }).ToList();
- foreach (var data in documents)
- {
- lists.Add(data);
- }
- documents = (from rows in ds.Tables[23].AsEnumerable()
- select new Document
- {
- RENGUM_PTO = rows[0].ToString(),
- DATE_REG = Convert.ToDateTime(rows[1].ToString())
- }).ToList();
- foreach (var data in documents)
- {
- lists.Add(data);
- }
- documents = (from rows in ds.Tables[24].AsEnumerable()
- select new Document
- {
- DATE_RAZR = rows[0].ToString(),
- NUM_RAZR = rows[2].ToString()
- }).ToList();
- foreach (var data in documents)
- {
- lists.Add(data);
- }
- return View(lists);
- }
Листинг программы
- string xmlData = Server.MapPath("~/App_Data/1.xml");
- DataSet ds = new DataSet();
- ds.ReadXml(xmlData);
- var documents = new List<Document>();
- IList<int> index = new List<int>();
- index.Add(18);
- index.Add(19);
- index.Add(23);
- index.Add(24);
- //foreach (var indexTable in index)
- //{
- //documents = (from rows in ds.Tables[indexTable].AsEnumerable()
- // select new Document
- // {
- // NOM_DOC = Convert.ToInt32(rows[1].ToString()),
- // DATE_DOC = rows[2].ToString(),
- // NOM_DOC2 = rows[3].ToString(),
- // DATE_DOC2 = rows[4].ToString(),
- // NOM_DOC3 = rows[5].ToString(),
- // DATE_DOC3 = rows[6].ToString(),
- // PENGUM_PTO = rows[0].ToString(),
- // DATE_REG = rows[1].ToString(),
- // DATE_RAZR = rows[0].ToString(),
- // NUM_RAZR = rows[2].ToString()
- // TR_NOMER = rows[0].ToString()
- // }
- // ).ToList();
Решение задачи: «Прочитать данные из XML в один документ»
textual
Листинг программы
- string xmlData = Server.MapPath("~/App_Data/1.xml");
- DataSet ds = new DataSet();
- ds.ReadXml(xmlData);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д