我正在尝试反序列化命名空间每年都在变化的文档。我要反序列化的那个是去年的,但我有一个与前一年不同的模式。
今年的档案长这样
<n1:Form109495BTransmittalUpstream xmlns="urn:us:gov:treasury:irs:ext:aca:air:ty22">
<Form1094BUpstreamDetail recordType="String" lineNum="0">
</Form1094BUpstreamDetail>
</n1:Form109495BTransmittalUpstream>
我的模式有这个命名空间
[System.Xml.Serialization.XmlElementAttribute(Namespace = "urn:us:gov:treasury:irs:ext:aca:air:ty21")]
public Form1094BUpstreamDetail Form1094BUpstreamDetail
{
get
{
return this.form1094BUpstreamDetailField;
}
set
{
this.form1094BUpstreamDetailField = value;
}
}
这是我用来反序列化的代码
// Now load the request
using (StreamReader reader = new StreamReader(requestFile))
{
// Now load both
XmlSerializer serializer = new XmlSerializer(typeof(Form109495BTransmittalUpstream));
// Now decode to the class
xmlRequest = (Form109495BTransmittalUpstream)serializer.Deserialize(readerReader);
}
有没有办法在命名空间中使用通配符,或者我是否必须完全忽略命名空间?