Sõelumisel LINQ koos XML

Siin on kiire näiteks kasutades LINQ sõeluda mõned  XML-i ja magus peatuses, magus omistatakse neis.

Siin on, ma tahan, et sõeluda XML:

<?XML-i versioon = "1.0" kodeering = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout nimi = "xyzzy">
      <Vahekaardid>
        <TAB TabOrder = "1" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "Ac1 madalamal temperatuuril" />
        <TAB TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Vahekaardid>
    </PageLayout>

    <PageLayout nimi = "xyzzy2">
      <Vahekaardid>
        <TAB TabOrder = "100" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "Ac1 madalamal temperatuuril" />
        <TAB TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <TAB TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Vahekaardid>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Soovin luua mõned kaardid käitusajal poolt parsing eespool.  Minu vahekaartide sõltuvad lehe paigutus.  Kui minu leheküljendi nimi on "xyzzy2", siis ma tahan saada vahekaardid 100, 101 ja 103 (vahekaarte <PageLayout nimi = "xyzzy2">).

Siin on see LINQ:

var allTabs =
              : p
                  XElement.Parse(theXmlToParse).
                 
Elemendid("PageLayouts").
                  Elemendid("PageLayout")
              Kui (p.Attribute("nimi").Value.Equals("xyzzy2"))
              m p.Elements("Kaardid").Elemendid("Kaart")
              Valige m;

          Results.Text = string.Tühi;

          foreach (var aTab allTabs)
          {
              Results.Text =
                  "Tab järjekorras: " + aTab.Attribute("TabOrder").Väärtus + " |" +
                  Jaotises silt": " + aTab.Attribute("TabLabel").Väärtus + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Väärtus + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Väärtus + "r";
          }

Ülalnimetatud, muutuja "theXmlToParse" on stringi muutuja, kuid saate koormus() meetod oja, kui sulle meeldib.

"Tulemused" on silt veebivormi kaudu ja kui see kood käivitab, See näeb välja selline:

SNAGHTML11cd2e7c

Ma ei töötanud, kuidas järjestada tulemusi veel, nii et ma jätan selle tulevane blogi postitus.

</lõpp>

Telli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Jäta vastus

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on tähistatud *