如何使用不同的标签但相同的数据对两个xml文件进行反序列化

时间:2010-06-30 13:11:54

标签: c# xml-serialization

我有两个包含相同数据但标签不同的xml文件。我需要将它们序列化为一个对象。起初我尝试创建类:

[XmlRoot(ElementName="ONIXMessage")]
public class ONIXMessage
{
    [XmlAttribute(AttributeName="release")]
    public string Release { get; set; }

    [XmlElement("Header")]
    public Header Header { get; set; }

    [XmlElement("Product")]
    public List<Product> Products { get; set; }        
}

但是我需要为具有不同标签的xml创建另一个类。当然,除非我找到更好的方法来对它们进行反序列化。我现在有这样的事情:

XmlSerializer serializer = new
XmlSerializer(type);

FileStream fs = new FileStream(filename, FileMode.Open);
XmlReader reader = new XmlTextReader(fs);

return (ONIXMessage)serializer.Deserialize(reader);

希望我有意义。

1 个答案:

答案 0 :(得分:0)

XmlChoiceIdentifier怎么样?