簡體   English   中英

XML使用c#從xsd反序列化iso 20022 pain.001.001.03

[英]XML deserialize iso 20022 pain.001.001.03 from xsd using c#

我想從xml文件中獲取一個對象。 在我的例子中,我使用iso 2002 pain.001.001.03

ISO 200022 pain.001.001.03

我已經從中下載了架構

pain.001.001.03.xsd

和來自的xml文件

pain.001.001.03.xml

我已使用此工具對xsd驗證了我的xml

驗證XML

我使用xsd生成了一個類

在此輸入圖像描述

我正在使用下面的代碼來反序列化

   XmlSerializer ser = new XmlSerializer(typeof(CustomerCreditTransferInitiationV03),    new XmlRootAttribute                             
                     { 
                         ElementName = "Document",
                        Namespace = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.03",
                   });


           FileStream myFileStream = new FileStream("C:\\001.001.03\\pain.001.001.03.xml", FileMode.Open);

           CustomerCreditTransferInitiationV03 myObject = (CustomerCreditTransferInitiationV03) ser.Deserialize(myFileStream);

代碼返回null值,但我的xml有值

在此輸入圖像描述

<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
    <CstmrCdtTrfInitn>

根元素是Document ,而不是CstmrCdtTrfInitn

var serializer = new XmlSerializer(typeof(Document));
using (var file = File.OpenRead(path))
{
    var document = (Document)serializer.Deserialize(file);
    var transfer = document.CstmrCdtTrfInitn;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM