【发布时间】:2022-01-03 08:33:01
【问题描述】:
我有几个xml 文件进来。有些有命名空间,有些没有。如何准确地转换这些而不会出现异常。
这是我的代码:
SASBM XML:
<ExportData xmlns="http://www.w3.org/2001/XMLSchema-instance">
<SASBM>...</SASBM>
</ExportData>
SASCS XML:
<ExportData>
<SASCS>...</SASCS>
</ExportData>
我的 XML 反序列化器:
_xmlSerializer = new XmlSerializer(typeof(ExportData));
_xmlSerializer.Deserialize(sr);
var tst = _xmlSerializer.Deserialize(sr);
还有我的班级:
/// <remarks/>
[System.Serializable()]
[System.ComponentModel.DesignerCategory("code")]
[System.Xml.Serialization.XmlType(AnonymousType = true)]
[System.Xml.Serialization.XmlRoot(Namespace = "http://www.w3.org/2001/XMLSchema-instance", IsNullable = false)]
public partial class ExportData
{
/// <remarks/>
public byte PlantCode { get; set; }
/// <remarks/>
public byte ServerID { get; set; }
/// <remarks/>
public uint MessageNumber { get; set; }
/// <remarks/>
public ExportDataSASAH SASAH { get; set; }
/// <remarks/>
public ExportDataSASCS SASCS { get; set; }
/// <remarks/>
public ExportDataSASBM SASBM { get; set; }
}
将namespace 设置为namespace="" 会针对一种文件类型修复它,但在第二种文件类型上出现异常。而且我不知道添加多个命名空间选项的方法。
【问题讨论】:
标签: c# xml serialization