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
我已经从
下载了架构
和来自
的xml文件
我已经使用此工具
验证了我的 xml 与 xsd 的对比
我使用 xsd
生成了 class
我正在使用下面的代码来反序列化
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);
代码 return 为空值,但我的 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;
}
我想从 xml 文件中获取一个对象。在我的示例中,我使用的是 iso 2002 pain.001.001.03
我已经从
下载了架构和来自
的xml文件我已经使用此工具
验证了我的 xml 与 xsd 的对比我使用 xsd
生成了 class我正在使用下面的代码来反序列化
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);
代码 return 为空值,但我的 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;
}