首页 > 解决方案 > 从模板创建 XML Banking 文档

问题描述

我从一家银行获得了这个模板,用于在银行账户转账中进行付款。

请参阅下面的 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>可以在组标题和付款信息标签中找到。我该如何处理?

标签: c#xml

解决方案


就我所见,问题是您在 SAP 中有一个插件来指定多种付款方式,但在银行提供的 XML 模板中,您没有多种付款的结构,因此您需要获取此信息才能知道如何你和它一起工作。

当您拥有这些信息时,您可以使用更好的 XML 模板和 VS 或其他工具来生成正确的类以使用 XML


推荐阅读