2010-06-30 1 views
1

У меня есть два xml-файла с теми же данными, но с разными тегами. Мне нужно сериализовать их в объект. Сначала я попытался создать классы:Как можно десериализовать два 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); 

Надеюсь, что у меня есть смысл.

+0

Почему вы дублируется этот вопрос: http://stackoverflow.com/questions/3149184/can-i-use-interfaces-or-polymorphism-to-deserialise-two-different-xml-files-into/ 3149244 # 3149244 –

+0

Я не думал, что задал правильный вопрос. Ваш ответ в последнем потоке, однако полезный, не отвечал на то, что я думал, что я спросил. Я предположил, что лучше просто задать еще один прямой вопрос, чем добавить к другому. Я понял, что мой вопрос в основном касался сериализации, а не интерфейсов. Сказав, что я только что заметил ссылку на редактирование. Так что, наверное, я только что изменил вопрос. Хорошо, мы живем и учимся. – Simon

ответ

Смежные вопросы