Создание XML-банковского документа из шаблона
У меня есть этот шаблон из банка, который используется для осуществления платежей по переводам банковских счетов.
См. xml ниже. Я включил примерные данные, которые должны быть введены при отправке файла в банк.
<?xml version="1.0" encoding="UTF-8"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <CstmrCdtTrfInitn> <GrpHdr> <MsgId>Copy Cart Urgent28052018_57894</MsgId> <CreDtTm>2018-06-29T11:52:23</CreDtTm> <NbOfTxs>1</NbOfTxs> <CtrlSum>667896.00</CtrlSum> <InitgPty> <Nm>COPY CART LIMITED</Nm> <Id> <OrgId> <Othr> <Id>S001234/PJones</Id> <SchmeNm> <Cd>CUST</Cd> </SchmeNm> </Othr> </OrgId> </Id> </InitgPty> </GrpHdr> <PmtInf> <PmtInfId>Payment for addon development SAP B1</PmtInfId> <PmtMtd>TRF</PmtMtd> <BtchBookg>false</BtchBookg> <NbOfTxs>1</NbOfTxs> <CtrlSum>667896.00</CtrlSum> <PmtTpInf> <InstrPrty>HIGH</InstrPrty> </PmtTpInf> <ReqdExctnDt>2018-06-29</ReqdExctnDt> <Dbtr> <Nm>COPY CART LIMITED</Nm> </Dbtr> <DbtrAcct> <Id> <Othr> <Id>0100000110846</Id> </Othr> </Id> <Ccy>KES</Ccy> </DbtrAcct> <DbtrAgt> <FinInstnId> <BIC>SBICKENX</BIC> </FinInstnId> </DbtrAgt> <CdtTrfTxInf> <PmtId> <EndToEndId>156335578965</EndToEndId> </PmtId> <Amt> <InstdAmt Ccy="KES">667896.00</InstdAmt> </Amt> <ChrgBr>DEBT</ChrgBr> <CdtrAgt> <FinInstnId> <BIC>DTKEKENA</BIC> <ClrSysMmbId> <MmbId>63000</MmbId> </ClrSysMmbId> </FinInstnId> </CdtrAgt> <Cdtr> <Nm>EOH SEAL LTD</Nm> <PstlAdr> <StrtNm>P.O. Box 10496</StrtNm> <TwnNm>Nairobi</TwnNm> <Ctry>KE</Ctry> <AdrLine>P.O. Box 10496</AdrLine> <AdrLine>00100 NAIROBI</AdrLine> </PstlAdr> </Cdtr> <CdtrAcct> <Id> <Othr> <Id>0112406001</Id> </Othr> </Id> </CdtrAcct> <RmtInf> <Ustrd>Copy Cat Urgent28052018_57894</Ustrd> </RmtInf> </CdtTrfTxInf> </PmtInf> </CstmrCdtTrfInitn> </Document>
Файл довольно длинный, так как должен быть в заданном формате. Черные буквы обозначают детали, которые должны быть переданы в xml. Чтобы проверить, понял ли я, какие данные идут туда, куда я их заполнил вручную и отправил в банк для тестирования. То есть сейчас все хорошо.
У меня есть программа SAP Business One addon, которая захватывает детали из формы и генерирует список. Каждый платеж должен следовать этой структуре.
Данные, записанные в формате .xml (черные буквы), представляют собой форму со строками и столбцами. Таким образом, если у вас есть 2 строки данных, xml удвоится по размеру, реплицируя те же поля, что и выше.
Каков наилучший метод создания xml-файла, как описано выше, из данных формы в c#?
Что я уже пробовал:
Я думал, что лучший способ получить данные c# - это собрать данные формы в список "bankintegration". Где BankIntegration-это класс со свойствами get/set.
Затем я использовал Visual Studio: Edit -> Paste Special -> Paste XML as Classes. Это привело к созданию многочисленных классов, которые кажутся мне бесполезными.
F-ES Sitecore
Проще всего было бы построить структуру данных из классов, а затем использовать сериализацию xml для преобразования ее в XML. Существуют различные способы сделать это, например, google "c# xml serialization".
Gerry Schmitz
"Специальная паста" работает отлично. "Имена классов" отражают структуру XML, поэтому они выглядят "странно".
Классы будут работать для вашего тривиального случая. Вам просто нужно потратить 5 минут, чтобы ознакомиться с ним; поля, свойства и конструкторы; все "стандартно".