Как я могу десериализовать два XML-файла с разными тегами, но с одинаковыми данными - PullRequest
1 голос
/ 30 июня 2010

У меня есть два 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 голосов
/ 30 июня 2010

Как насчет XmlChoiceIdentifier ?

...