namespace Infrastructure.StockData; /// /// SEIBro getNationFrsecCusInfo(국가별 외화증권 보관현황) 응답 파서 — 순수 C#. 공용 SeibroXml envelope 입력 (외화증권.md §1). /// 실샘플 래퍼 = <result> 소문자 (SeibroXml 이 대소문자 무시로 흡수). 응답 필드는 SECN_TPCD·FRSEC_CUS_AMT 2종 — /// STD_DT·NATION_CD 는 요청 파라미터라 응답에 없고 배치가 스탬핑한다. SECN_TPCD 없는 행은 스킵(종목구분이 자연키 일부). /// public static class SeibroNationFrsecCusParser { public sealed record Row( string SecnTpcd, decimal? FrsecCusAmt ); public static IReadOnlyList Parse(SeibroXml.Envelope envelope) { var rows = new List(); foreach (var fields in envelope.Rows) { var secnTpcd = SeibroXml.GetOrNull(fields, "SECN_TPCD")?.Trim(); if (string.IsNullOrEmpty(secnTpcd)) { continue; } rows.Add(new Row( secnTpcd, SeibroFieldParse.Decimal(SeibroXml.GetOrNull(fields, "FRSEC_CUS_AMT")) )); } return rows; } }