【问题标题】:Deserialize dynamic/variable Inner XML反序列化动态/可变内部 XML
【发布时间】:2011-01-31 11:15:54
【问题描述】:

我有一个 XML 配置文件:

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

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

我该怎么做?

我正在尝试这样做,但它什么也没给我 [Xml文本] 公共字符串 UserDefinedElement{ 获取;放; }

感谢您的回答。

【问题讨论】:

    标签: c# xml xml-deserialization


    【解决方案1】:

    您可以在 app.config 中通过定义可以反序列化为对象集合的自定义配置部分来实现此目的。可以在此处找到实现此目标的良好指南:http://devlicio.us/blogs/derik_whittaker/archive/2006/11/13/app-config-and-custom-configuration-sections.aspx

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

    【讨论】:

    • 是的,但我不想使用 web.config。基本上这是一个插件系统配置文件。该文件包含系统所需的插件的所有设置。但是每个插件可能会有不同的设置。因此,我想在单独的 xml 中而不是 web.config 中定义它。
    • 虽然我是从web.config读取插件配置文件路径
    • 您是说要在运行时将 反序列化为动态用户定义对象吗?没有该类的任何先验知识/实现?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多