Настраиваемые разделы app/web config, элементы коллекции с атрибутами

Я думал, что это будет что-то простое, так как у меня есть раздел XML, как:

<InterfaceDetails>
    <Interface name="TestInterface1">
        <Details data="xxxxxx" />
        <Details data="yyyyyy" />
    </Interface>
    <Interface name="TestInterface2">
        <Details data="zzzzzz" />
    </Interface>
</InterfaceDetails>

Обработчик раздела подключается нормально, но выдает ошибку при чтении xml, говоря, что не может найти атрибут "name", теперь без добавления ЗАГРУЗКИ кода здесь у меня есть следующие классы:

  • InterfaceDetailsSection

Контейнер основного раздела имеет свойство Interface, которое ссылается на InterfaceElementCollection.

  • InterfaceElementCollection

Это производный класс коллекции элементов, который должен предоставлять атрибут name и элементы details ниже. Я попытался дать этому классу атрибут с именем name, и это, похоже, сработало, но затем я получил еще одну ошибку о дочерних элементах.

  • DetailsElement

Он содержит атрибут данных для элементов Details.

Я хочу быть в состоянии идеально вытащить каждый интерфейс, а затем для каждого интерфейса вытащить детали, однако на всю жизнь, даже глядя на множество учебных пособий в этой области, ни один из них, похоже, не охватывает наличие нескольких детей в нескольких дети, или если они не имеют атрибутов в коллекциях.

Может кто-нибудь увидеть какие-либо вопиющие ошибки или дать мне какие-либо указания относительно того, где я иду не так.

2 ответа

Вы можете попробовать с этим

    <configuration>

    <!-- Configuration section-handler declaration area. -->
      <configSections>
        <sectionGroup name="myCustomGroup">
          <section 
            name="myCustomSection" 
            type="MyConfigSectionHandler.MyHandler, MyCustomConfigurationHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" 
            allowLocation="true" 
            allowDefinition="Everywhere"
          />
        </sectionGroup>
          <!-- Other <section> and <sectionGroup> elements. -->
      </configSections>

      <!-- Configuration section settings area. -->



 <myCustomGroup>
    <myCustomSection myAttrib1="Clowns">

    </myCustomSection>
  </myCustomGroup>


    </configuration>

Пользовательский раздел конфигурации, содержащий коллекцию

Вышеупомянутый вопрос был НАКОНЕЦ ответом, который я искал, поэтому, если у кого-то еще есть такая же проблема, как и у меня, пытающаяся ориентироваться в таинственном мире ConfigurationSections, они могут быть направлены в правильном направлении.

Другие вопросы по тегам