从模板创建XML Banking文档

时间:2018-07-31 10:09:58

标签: c# 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>Cart Urgent28052018_57894</MsgId>
      <CreDtTm>2018-06-29T11:52:23</CreDtTm>
      <NbOfTxs>1</NbOfTxs>
      <CtrlSum>667896.00</CtrlSum>
      <InitgPty>
        <Nm>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>CART LIMITED</Nm>
      </Dbtr>
      <DbtrAcct>
        <Id>
          <Othr>
            <Id>0112345110846</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>Cart Urgent28052018_57894</Ustrd>
        </RmtInf>
      </CdtTrfTxInf>
        </PmtInf>
  </CstmrCdtTrfInitn>
</Document>

该文件很长,必须采用给定的格式。黑色字母表示要传递到xml的详细信息。为了测试我是否理解了哪些数据,我手动填充了这些数据并将其发送到银行进行测试。现在一切都很好。

我有一个SAP附加程序,可从表单捕获详细信息并生成列表。每次付款都必须遵循此结构。

查看以下内容:

<Nm>CART LIMITED</Nm>
<Id>
  <OrgId>
    <Othr>
      <Id>S001234/PJones</Id>
      <SchmeNm>
        <Cd>CUST</Cd>
      </SchmeNm>
    </Othr>
  </OrgId>
</Id>   

正在根据模板创建具有所有属性的类,这是创建所需xml的最佳方法。

我如何错开

<Id>
   <OrgId>
      <Othr>

像上面的情况一样?

还可以在组标题和付款信息标签中找到<CtrlSum>667896.00</CtrlSum>。我该如何处理?

1 个答案:

答案 0 :(得分:1)

对于我所看到的问题是,您在SAP中有一个插件来指定多种付款方式,但是在银行提供的XML模板中,您没有用于多种付款的结构,因此您需要获取此信息知道如何使用它。

掌握了这些信息后,便可以使用带有VS的更好的XML模板或其他工具来生成正确的类以使用XML