Tag Archives: LINQ

Parsowania XML su LINQ

Čia yra greitas pavyzdys naudojant LINQ analizuoti kai kurie  XML ir gauti ne saldus, Saldūs priskiria jame.

Čia yra noriu išanalizuoti XML:

<?XML versija = "1.0" kodavimo = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout pavadinimas = "xyzzy">
      <Skirtukai>
        <Skirtuke TabOrder = "1" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Skirtuke TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Skirtukai>
    </PageLayout>

    <PageLayout pavadinimas = "xyzzy2">
      <Skirtukai>
        <Skirtuke TabOrder = "100" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
        <Skirtuke TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Skirtuke TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Skirtukai>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Noriu sukurti kai kurie skirtukai vykdymo metu parsowania pirmiau.  Mano skirtukų priklauso puslapio maketą.  Jei mano puslapio maketo pavadinimas yra "xyzzy2" tada aš noriu gauti skirtukai 100, 101 ir 103 (skirtukus <PageLayout pavadinimas = "xyzzy2">).

Čia yra LINQ, kad ji:

var allTabs =
              p
                  XElement.Parse(theXmlToParse).
                 
Elementai("PageLayouts").
                  Elementai("PageLayout")
              tais atvejais, kai (p.Attribute("pavadinimas").Value.equals("xyzzy2"))
              iš p.Elements m("Skirtukų").Elementai("Kortelėje")
              Pasirinkite m;

          Results.text = eilutė.Tuščias;

          foreach (var aTab, allTabs)
          {
              Results.text =
                  "Slinkčių tvarka: " + aTab.Attribute("TabOrder").Vertė + " |" +
                  "Skirtuko ženklas: " + aTab.Attribute("TabLabel").Vertė + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Vertė + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Vertė + "r";
          }

Pirmiau, Kintamasis "theXmlToParse" yra Styga kintamojo, Tačiau galite naudoti apkrova() metodas a srauto, jei norite.

"Rezultatais" yra etiketė dėl interneto formą ir kai šio kodekso vykdo, atrodo, kad tai:

SNAGHTML11cd2e7c

Aš ne dirbo, kaip norite rūšiuoti rezultatus dar, Todėl aš palikti kad ateityje dienoraštį.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin