Парсирање КСМЛ-а са ЛИНК

Ево брзог пример коришћењем ЛИНК да цита неке  КСМЛ и добити на слатко, у њој слатки атрибути.

Ево КСМЛ желим да анализирамо:

<?xml version="1.0" encoding="utf-8" ?>
<ДеафултЦонфигуратионСетс>
  <ПагеЛаиоутс>

    <PageLayout name="xyzzy">
      <Табс>
        <Tab TabOrder="1" TabLabel="x" SharePointContentType="a" AdditionalConstraints="ac1"/>
        <Tab TabOrder="2" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
      </Табс>
    </ПагеЛаиоут>

    <PageLayout name="xyzzy2">
      <Табс>
        <Tab TabOrder="100" TabLabel="x" SharePointContentType="a" AdditionalConstraints="ac1"/>
        <Tab TabOrder="101" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
        <Tab TabOrder="103" TabLabel="z" SharePointContentType="c" AdditionalConstraints="ac3"/>
      </Табс>
    </ПагеЛаиоут>

  </ПагеЛаиоутс>
</ДеафултЦонфигуратионСетс>

Желим да се изграде неке картице на рунтиме по анализи изнад.  Моји картице зависе од распореда странице.  Ако мој распоред на страници је име "киззи2", онда желим да се картица 100, 101 и 103 (картице у <ПагеЛаиоут име = "киззи2">).

Ево да ЛИНК то чини:

био аллТабс =
              из П у
                  КСЕлемент.Парсе(тхеКсмлТоПарсе).
                 
Елементи("PageLayouts").
                  Елементи("PageLayout")
              где (п.Аттрибуте("name").Валуе.Екуалс("xyzzy2"))
              из м у п.Елементс("Tabs").Елементи("Tab")
              изаберите м;

          Ресултс.Тект = стринг.Емпти;

          фореацх (АТАБ је постављен аллТабс)
          {
              Ресултс.Тект =
                  "Tab Order: " + аТаб.Аттрибуте("TabOrder").Вредност + " |" +
                  "Tab Label: " + аТаб.Аттрибуте("TabLabel").Вредност + " | " +
                  "SharePointContentType: " + аТаб.Аттрибуте("SharePointContentType").Вредност + " | " +
                  "AdditionalConstraints: " + аТаб.Аттрибуте("AdditionalConstraints").Вредност + "\r";
          }

У горе, променљива "тхеКсмлТоПарсе" је ниска променљива, али можете да користите оптерећење() метод на потоку ако желите.

"Резултати" је етикета на веб форми и када се то врши код, то изгледа овако:

SNAGHTML11cd2e7c

Нисам радио како да још сортирате резултате, тако да ћу оставити да се за будуће блогу.

</крај>

Претплатите се на мој блог.

Следите ме на Туиттер на http://www.twitter.com/pagalvin

Леаве а Репли

Ваша емаил адреса неће бити објављена. Обавезна поља су означена *