Создан API для входного файла XBRL и необходимо получить список контекстов, но получен пустой массив. ⇐ C#
-
Anonymous
Создан API для входного файла XBRL и необходимо получить список контекстов, но получен пустой массив.
Я создаю Web Api для входного файла XBRL, и мне нужно получить выходной список контекстов в соответствии с периодом, который я вставлю в почтальон. Но у меня есть пустой массив. Не могу понять в чем проблема.
Любое предложение будет полезно.
Конверт общедоступного класса { публичная строка Period {get; набор; } общественный байт [] XBRLInstance {получить; набор; } } [Апиконтроллер] [Маршрут("api/xbrl")] общедоступный класс XBRLController: ControllerBase { [HttpPost] [Consumes("приложение/json")] public IActionResult Post (конверт конверта [FromBody]) { // извлекаем точку и XBRLInstance из конверта строка периода = конверт.Период; строка xbrlInstance = Encoding.UTF8.GetString(envelope.XBRLInstance); // синтаксический анализ XBRLInstance в XDocument XDocument xbrlData = XDocument.Parse(xbrlInstance); // логика для фильтрации данных XBRL по периоду и возврата соответствующего контекста List filteredContexts = GetContextsByPeriod(xbrlData, period); // Возвращаем список контекстов в ответе вернуть ОК (filteredContexts); } [HttpGet] частный список GetContextsByPeriod (XDocument xbrlData, строковый период) { XNamespace xbrli = "http://www.xbrl.org/2003/linkbase"; // логика для фильтрации данных XBRL по периоду и возврата соответствующего контекста var filteredContexts = xbrlData.Descendants(xbrli + «контекст») .Где(контекст => { // условие для фильтрации по периоду строка contextPeriod = context.Element(xbrli + «период»).Value; вернуть contextPeriod == период; }) .Select(context => context.Attribute("id").Value) .К списку(); вернуть фильтрованные контексты; } }``` А в почтальоне это выглядит так ```{ «Период»: «01.01.2022/31.12.2022», "XBRLInstance": "PD94bWwgdm..." }``` И я получил пустой массив в теле []
Я создаю Web Api для входного файла XBRL, и мне нужно получить выходной список контекстов в соответствии с периодом, который я вставлю в почтальон. Но у меня есть пустой массив. Не могу понять в чем проблема.
Любое предложение будет полезно.
Конверт общедоступного класса { публичная строка Period {get; набор; } общественный байт [] XBRLInstance {получить; набор; } } [Апиконтроллер] [Маршрут("api/xbrl")] общедоступный класс XBRLController: ControllerBase { [HttpPost] [Consumes("приложение/json")] public IActionResult Post (конверт конверта [FromBody]) { // извлекаем точку и XBRLInstance из конверта строка периода = конверт.Период; строка xbrlInstance = Encoding.UTF8.GetString(envelope.XBRLInstance); // синтаксический анализ XBRLInstance в XDocument XDocument xbrlData = XDocument.Parse(xbrlInstance); // логика для фильтрации данных XBRL по периоду и возврата соответствующего контекста List filteredContexts = GetContextsByPeriod(xbrlData, period); // Возвращаем список контекстов в ответе вернуть ОК (filteredContexts); } [HttpGet] частный список GetContextsByPeriod (XDocument xbrlData, строковый период) { XNamespace xbrli = "http://www.xbrl.org/2003/linkbase"; // логика для фильтрации данных XBRL по периоду и возврата соответствующего контекста var filteredContexts = xbrlData.Descendants(xbrli + «контекст») .Где(контекст => { // условие для фильтрации по периоду строка contextPeriod = context.Element(xbrli + «период»).Value; вернуть contextPeriod == период; }) .Select(context => context.Attribute("id").Value) .К списку(); вернуть фильтрованные контексты; } }``` А в почтальоне это выглядит так ```{ «Период»: «01.01.2022/31.12.2022», "XBRLInstance": "PD94bWwgdm..." }``` И я получил пустой массив в теле []
Мобильная версия