title: Conditionally remove sections of XML document with Linq
body: <p>How would i using Linq remove all <code>&lt;CCInfo&gt;</code> section where their element <code>&lt;CC&gt;</code> does not have the value 0123 ?</p>
  
  <p>Source document:</p>
  
  <pre><code>&lt;Processing&gt;
    &lt;Mods&gt;
      &lt;ListMods&gt;
        &lt;Action&gt;A&lt;/Action&gt;
        &lt;GetMoreInd&gt;&lt;/GetMoreInd&gt;
        &lt;QLDNameReq&gt;&lt;/QLDNameReq&gt;
        &lt;CCAry&gt;
          &lt;CCInfo&gt;
            &lt;CC&gt;0123&lt;/CC&gt;
            &lt;Num&gt;25&lt;/Num&gt;
            &lt;Cat&gt;&lt;/Cat&gt;
            &lt;DtRange&gt;&lt;/DtRange&gt;
          &lt;/CCInfo&gt;
          &lt;CCInfo&gt;
              &lt;CC&gt;456&lt;/CC&gt;
              &lt;Num&gt;25&lt;/Num&gt;
              &lt;Cat&gt;&lt;/Cat&gt;
              &lt;DtRange&gt;&lt;/DtRange&gt;
            &lt;/CCInfo&gt;
            &lt;CCInfo&gt;
              &lt;CC&gt;0123&lt;/CC&gt;
              &lt;Num&gt;99&lt;/Num&gt;
              &lt;Cat&gt;&lt;/Cat&gt;
              &lt;DtRange&gt;&lt;/DtRange&gt;
            &lt;/CCInfo&gt;
            &lt;CCInfo&gt;
              &lt;CC&gt;0123&lt;/CC&gt;
              &lt;Num&gt;16&lt;/Num&gt;
              &lt;Cat&gt;&lt;/Cat&gt;
              &lt;DtRange&gt;&lt;/DtRange&gt;
            &lt;/CCInfo&gt;
            &lt;CCInfo&gt;
              &lt;CC&gt;xyz&lt;/CC&gt;
              &lt;Num&gt;16&lt;/Num&gt;
              &lt;Cat&gt;&lt;/Cat&gt;
              &lt;DtRange&gt;&lt;/DtRange&gt;
            &lt;/CCInfo&gt;
          &lt;/CCAry&gt;
        &lt;/ListMods&gt;
    &lt;/Mods&gt;
  &lt;/Processing&gt;
  </code></pre>
  
  <p>Wanted output</p>
  
  <pre><code>&lt;Processing&gt;
    &lt;Mods&gt;
      &lt;ListMods&gt;
        &lt;Action&gt;A&lt;/Action&gt;
        &lt;GetMoreInd&gt;&lt;/GetMoreInd&gt;
        &lt;QLDNameReq&gt;&lt;/QLDNameReq&gt;
        &lt;CCAry&gt;
          &lt;CCInfo&gt;
            &lt;CC&gt;0123&lt;/CC&gt;
            &lt;Num&gt;25&lt;/Num&gt;
            &lt;Cat&gt;&lt;/Cat&gt;
            &lt;DtRange&gt;&lt;/DtRange&gt;
          &lt;/CCInfo&gt;
            &lt;CCInfo&gt;
              &lt;CC&gt;0123&lt;/CC&gt;
              &lt;Num&gt;99&lt;/Num&gt;
              &lt;Cat&gt;&lt;/Cat&gt;
              &lt;DtRange&gt;&lt;/DtRange&gt;
            &lt;/CCInfo&gt;
            &lt;CCInfo&gt;
              &lt;CC&gt;0123&lt;/CC&gt;
              &lt;Num&gt;16&lt;/Num&gt;
              &lt;Cat&gt;&lt;/Cat&gt;
              &lt;DtRange&gt;&lt;/DtRange&gt;
            &lt;/CCInfo&gt;
          &lt;/CCAry&gt;
        &lt;/ListMods&gt;
    &lt;/Mods&gt;
  &lt;/Processing&gt;
  </code></pre>
  
  <p>thanks</p>