我正在编写一个将接收XML数据包的应用程序。我已经尝试在C#中创建一个对象来反序列化收到的XML,它工作正常。我注意到,如果类名与XML数据包中的根元素名称不同,则对该类的反序列化将不起作用。我在网上搜索了一个简单的应用程序,甚至不知道是否可能,但我的问题是:如何根据收到的XML包在C#中自动创建一个类?这可能吗?或者接近这个场景的东西,我可以解决,以防根元素名称与类名称不同。非常感谢任何帮助。
答案 0 :(得分:1)
您是否尝试过RootNode属性以更改名称?
[XmlRoot("RootNodeName")]
public class MyClass {...}
根据您的评论:
您无法在运行时创建强类型类。
您是否考虑过使用 LINQ to XML 而不是XML序列化?这可能更适合您(动态)的需求。您仍然可以保留您的类,只需通过LINQ to XML表达式填充它,而不是直接反序列化。