c# - LINQ XML Read different hierarchies into 1 object -
मेरे पास XML फाइल है
& lt; searchResponse requestID = "500" status = " सफलता "& gt; & LT; पीएसओ & gt; & Lt; psoID ID = "770e8400-e29b-41d4-a716-446655448549" लक्ष्यआईडीआई = "मेझेओएकाउंट" / & gt; & LT; डेटा & gt; & LT; ईमेल & gt; user2@example.net< / ईमेल & gt; & LT; quotaMeg & gt; 100 & lt; / quotaMeg & gt; & LT; quotaUsed & gt; 23 & lt; / quotaUsed & gt; & LT; दायरे & gt; Mezeo & lt; / दायरे & gt; & LT; पथ & gt; / san1 / & lt; / पथ & gt; & LT; बिलिंग & gt; user2 & lt; / बिलिंग & gt; & LT; सक्रिय & gt; सच & lt; / सक्रिय & gt; & LT; खुला & gt; सच & lt; / खुला & gt; & LT; allowPublic & gt; सच & lt; / allowPublic & gt; & LT; bandwidthQuota & gt; 1000000000 & lt; / bandwidthQuota & gt; & LT; billingDay & gt; 1 & lt; / billingDay & gt; & Lt; / डेटा & gt; & Lt; / पीएसओ & gt; & Lt; / searchRequest & gt;
और मैं डेटा को एक व्यवसाय वस्तु में निकालना चाहता हूं। क्या मैं जाने के लिए बेहतर हूं
<प्री> मेझेओ अकाउंट mcspAccount = नया मेझेओ अकाउंट (); McspAccount.PsoID = doc.Element ("psoID") विशेषता ("आईडी")। मान; McspAccount.Email = doc.Element ("ईमेल")। मान; ...
या एक सूची बनाने के बावजूद मुझे पता है कि फ़ाइल में केवल 1 रिकार्ड है?
var psoQuery = pso में doc.Descendants ("डेटा") का चयन करें नया मेझेओ अकाउंट {PsoID = pso.Parent.Element ("psoID") विशेषता ("आईडी")। मान, ईमेल = pso.Element ("ईमेल")। मान, ...};
लोगों का सुझाव होगा कि अगर मुझे कुछ याद आती है, तो इससे ज्यादा सही तरीका या बेहतर तरीके भी होगा।
अगर आपको पता है कि आपके एक्सएमएल में केवल डेटा के एक रिकार्ड को ध्यान में रखा जाएगा तो आपको इसके लिए एक सूची नहीं बनानी चाहिए। तो आपका पहला उदाहरण ठीक दिखता है।
मैं खुद का उपयोग करने वाला एक पैटर्न ऐसा कुछ है:
सार्वजनिक वर्ग MezeoAccount {सार्वजनिक स्ट्रिंग PsoID {get; सेट; } सार्वजनिक स्ट्रिंग ईमेल {get; सेट; } सार्वजनिक स्थैतिक मेझेओएक्वाइंट बनाएँफ्रैक्स एक्सएमएल (एक्सएमएलडीओटीएमएमएमएल) {नई मेझेओएक्वाइंट () लौटें {PsoID = xml.Element ("psoID")। विशेषता ("आईडी")। मूल्य, ईमेल = डॉक्टर। एलेमेंट ("ईमेल")। मान; }; }} // उपयोग var मेझेओएकाउंट = मेझेओएकाउंट। क्रेलेटफॉम्क्स xml (xml);
Comments
Post a Comment