c# - 从模板创建 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>
可以在组标题和付款信息标签中找到。我该如何处理?
解决方案
就我所见,问题是您在 SAP 中有一个插件来指定多种付款方式,但在银行提供的 XML 模板中,您没有多种付款的结构,因此您需要获取此信息才能知道如何你和它一起工作。
当您拥有这些信息时,您可以使用更好的 XML 模板和 VS 或其他工具来生成正确的类以使用 XML
推荐阅读
- python - 使用 dict.values() 迭代时无法替换 dicts 列表中的字符串值
- java - 如何禁用 JMeter 日志信息输出到控制台(在 java 中)
- user-interface - 在BottomNavigationBar的屏幕之间水平滑动?
- php - TYPO3 8.7.x / Extbase:如何获取 flexform 选择树视图值?
- scala - 为什么人们更喜欢隐式而不是继承来丰富数据框?
- android - 未找到属性 defaultNavHost
- python - 在树莓派的 Kivy 上播放视频
- azure - 从邮递员获取 Azure AD 实例中的用户列表
- graphql - Prisma 解析器查询 && GraphQL Shield
- javascript - Javascript Filepicker 未在 Filemaker Pro Webviewer 中加载