title: Is it possible to have arbitrary XML in a custom configuration section?
body: <p>Suppose I define a configuration section in an ASP.NET web.config like:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;configuration&gt;
    &lt;configSections&gt;
      &lt;sectionGroup name="system.web"&gt;
        &lt;section name="MySettings" type="MyCompany.MyProject.Configuration.MySettings" allowLocation="true" allowDefinition="Everywhere" restartOnExternalChanges="false" /&gt;
      &lt;/sectionGroup&gt;
    &lt;/configSections&gt;
    &lt;system.web&gt;
      &lt;MySettings knownProperty="some_value" unknownProperty="other_value" /&gt;
    &lt;/system.web&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>And suppose I define <code>MySettings : System.Configuration.ConfigurationSection</code> <strong>without</strong> <code>unknownProperty</code>:</p>
  
  <pre><code>using System.Configuration;
  
  namespace MyCompany.MyProject.Configuration
  {
      public class MySettings : ConfigurationSection
      {
        public MySettings() { }
  
        [ConfigurationProperty("knownProperty", DefaultValue="default_value")]
        public string KnownProperty
        {
          get { return (string)this["knownProperty"]; }
        }
  
        // I'm not defining unknownProperty here on purpose
      }
  }
  </code></pre>
  
  <p>Is there anyway to run the app without getting a Configuration Error complaining about the unrecognized attribute 'unknownProperty'?</p>
  
  <p>Also I'd be fine with a way to catch that error and ignore it if that's possible.</p>
  
  <p>In other words, I want the XML to have an attribute that is not defined in the matching type to which it's bound. Can it be done within the confines of the existing Configuration API?</p>