namespace Infrastructure.StockData; /// /// SEIBro getShortmIssuInfo(단기금융증권 발행내역, CD/CP/전단채) 응답 파서 — 순수 C#. 공용 SeibroXml envelope 입력. /// 자연키 ISIN 없으면 건너뛴다. SECN_TPCD·ISSU_DT 는 응답에 없어 요청 파라미터를 배치가 스탬핑한다(여기선 필드만 매핑). /// public static class SeibroShortmIssuParser { public sealed record Row( string Isin, string? KorSecnNm, int? IssucoCustno, string? IssucoCustNm ); public static IReadOnlyList Parse(SeibroXml.Envelope envelope) { var rows = new List(); foreach (var fields in envelope.Rows) { var isin = SeibroXml.GetOrNull(fields, "ISIN")?.Trim(); if (string.IsNullOrEmpty(isin)) { continue; } rows.Add(new Row( isin, SeibroXml.GetOrNull(fields, "KOR_SECN_NM")?.Trim(), SeibroFieldParse.Int(SeibroXml.GetOrNull(fields, "ISSUCO_CUSTNO")), SeibroXml.GetOrNull(fields, "ISSUCO_CUST_NM")?.Trim() )); } return rows; } }