वर्ग पुरालेख: LINQ

LINQ के साथ XML पार्सिंग

यहाँ कुछ को पार्स करने के लिए LINQ का उपयोग कर के एक त्वरित उदाहरण है  XML और मिठाई पर पाने के लिए, उसमें मीठे गुण.

यहाँ XML पार्स करने के लिए मैं चाहता है:

<?xml संस्करण "1.0 =" एन्कोडिंग = "utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout नाम "xyzzy" =>
      <टैब्स>
        <टैब TabOrder = "1" TabLabel = "एक्स" SharePointContentType = "एक" AdditionalConstraints = "ac1" />
        <टैब TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
      </टैब्स>
    </PageLayout>

    <PageLayout का नाम "xyzzy2" =>
      <टैब्स>
        <टैब TabOrder "100 =" TabLabel = "एक्स" SharePointContentType = "एक" AdditionalConstraints = "ac1" />
        <टैब TabOrder "101 =" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
        <टैब TabOrder "103 =" TabLabel = "z" SharePointContentType = "सी" AdditionalConstraints = "ac3" />
      </टैब्स>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

मैं उपरोक्त पार्सिंग करके रनटाइम पर कुछ टैब्स का निर्माण करना चाहते हैं।  मेरी टैब्स एक पृष्ठ लेआउट पर निर्भर करती है।  अगर मेरे पेज लेआउट का नाम "xyzzy2" है, तो मैं टैब्स प्राप्त करना चाहते हैं 100, 101 और 103 (में टैब <PageLayout का नाम "xyzzy2" =>).

यहाँ LINQ कि यह करता है:

var allTabs =
              p में से
                  XElement.Parse(theXmlToParse).
                 
तत्वों("PageLayouts").
                  तत्वों("PageLayout")
              जहाँ (p.Attribute("नाम").Value.Equals("xyzzy2"))
              p.Elements में से एम("टैब").तत्वों("टैब")
              मी का चयन करें;

          Results.Text = स्ट्रिंग।खाली;

          foreach (var aTab allTabs में)
          {
              Results.Text =
                  "टैब क्रम: " + aTab.Attribute("TabOrder").मान + " |" +
                  "टैब लेबल: " + aTab.Attribute("TabLabel").मान + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").मान + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").मान + "r";
          }

इसके बाद के संस्करण में, एक स्ट्रिंग चर चर "theXmlToParse" है, लेकिन आप लोड का उपयोग कर सकते हैं() अगर आप की तरह एक स्ट्रीम पर विधि.

"परिणाम" कोई लेबल पर एक वेब प्रपत्र और जब इस कोड निष्पादित करता है, यह इस तरह दिखता है:

SNAGHTML11cd2e7c

मैं अभी तक परिणाम को सॉर्ट करने के लिए कैसे बाहर काम नहीं किया है, तो मैं उस के लिए एक भविष्य ब्लॉग पोस्ट छोड़ दूँगा.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें.

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin