Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 反序列化动态/变量内部XML_C#_Xml_Xml Deserialization - Fatal编程技术网

C# 反序列化动态/变量内部XML

C# 反序列化动态/变量内部XML,c#,xml,xml-deserialization,C#,Xml,Xml Deserialization,我有一个XML配置文件: <Config> <FixedElement1/> <FixedElement2/> <UserDefinedElement> <UnknownUserElement1/> <UnknownUserElement2/> </UserDefinedElement> </Config> 我对固定元素进行了序列化和反序列化。但我

我有一个XML配置文件:

<Config>
   <FixedElement1/>
   <FixedElement2/>
   <UserDefinedElement>
      <UnknownUserElement1/>
      <UnknownUserElement2/>
   </UserDefinedElement>
</Config>

我对固定元素进行了序列化和反序列化。但我想阅读未知的用户定义元素

我怎么做

我试图这样做,但它没有给我任何回报 [XmlText] 公共字符串UserDefinedElement{get;set;}


感谢您的回答。

您可以在app.config中通过定义自定义配置节来实现这一点,自定义配置节可以反序列化到对象集合中。有关实现这一目标的良好指南,请参见:


如果希望使用自定义配置,则仍需要指定已序列化的对象。如果要实现ISerializable,则可以使用反射来确定对象类型并在运行时创建

您可以在app.config中通过定义自定义配置节来实现这一点,自定义配置节可以反序列化到对象集合中。有关实现这一目标的良好指南,请参见:


如果希望使用自定义配置,则仍需要指定已序列化的对象。如果要实现ISerializable,则可以使用反射来确定对象类型并在运行时创建

是的,但我不想使用web.config。基本上这是一个插件系统配置文件。此文件包含系统所需插件的所有设置。但是每个插件可能有不同的设置。因此,我想在单独的xml中定义它,而不是web.config。虽然我正在从web.config读取插件配置文件路径,但您是说您想在运行时反序列化为动态用户定义的对象吗?没有该类的任何先验知识/实现?是的,但我不想使用web.config。基本上这是一个插件系统配置文件。此文件包含系统所需插件的所有设置。但是每个插件可能有不同的设置。因此,我想在单独的xml中定义它,而不是web.config。虽然我正在从web.config读取插件配置文件路径,但您是说您想在运行时反序列化为动态用户定义的对象吗?没有该类的任何事先知识/实施?