Tagu arhīvi: LINQ

Ar LINQ XML parsing

Šeit ir ātri piemēru, izmantojot LINQ parsēt, daži  XML un tikt pie sweet, Sweet atribūtus, tajā.

Lūk, es gribu, lai parsēt XML:

<?XML version = "1.0" Encoding = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout nosaukums = "xyzzy">
      <Cilnes>
        <TAB TabOrder = "1" TabLabel = "x" SharePointContentType = "" AdditionalConstraints = "ac1" />
        <Cilnes TabOrder = "% 2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </Cilnes>
    </PageLayout>

    <PageLayout nosaukums = "xyzzy2">
      <Cilnes>
        <Cilnes TabOrder = "100" TabLabel = "x" SharePointContentType = "" AdditionalConstraints = "ac1" />
        <Cilnes TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <Cilnes TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
      </Cilnes>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

Es gribu izveidot dažas cilnes Runtime, analizējot iepriekš minēto.  Manas zīmnes, ir atkarīgs no lapas izkārtojumu.  Ja manas lapas izkārtojuma nosaukums ir "xyzzy2", tad es vēlos saņemt cilnēm 100, 101 un 103 (cilnes <PageLayout nosaukums = "xyzzy2">).

Šeit ir LINQ, kas to dara:

var allTabs =
              no p
                  XElement.Parse(theXmlToParse).
                 
Elementi("PageLayouts").
                  Elementi("PageLayout")
              kur (p.Attribute("name").VALUE.Equals("xyzzy2"))
              m p.Elements("Tabs").Elementi("Tab")
              Atlasiet m;

          Results.Text = string.Tukšs;

          foreach (var aTab allTabs)
          {
              Results.Text =
                  "Tabulēšanas secība: " + aTab.Attribute("TabOrder").Vērtība + " |" +
                  "Tab etiķete: " + aTab.Attribute("TabLabel").Vērtība + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").Vērtība + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Vērtība + "r";
          }

Iepriekš, Mainīgais "theXmlToParse" ir string mainīgais, bet jūs varat izmantot kravas() plūsmas, ja jums patīk metodi.

"Rezultāti" ir etiķete, uz web formu un izpilda šā kodeksa, tas izskatās šādi:

SNAGHTML11cd2e7c

Neesmu strādājis, kā iespējams sakārtot rezultātus vēl, tāpēc es ņemšu atvaļinājumu, ka nākotnes blog post.

</beigās>

Abonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin