2013-02-11 24 views
8

मेरे एक्सएमएल फ़ाइल संरचना इस तरह दिखता है:XML दस्तावेज के माध्यम से लूपिंग

<SalaryDetails> 
    <Employee> 
     <Name>George Dsouza</Name> 
     <AnnualSalary>320000</AnnualSalary> 
     <DaysWorked>22</DaysWorked> 
    </Employee> 
    <Employee> 
     <Name>Jackie Parera</Name> 
     <AnnualSalary>300000</AnnualSalary> 
     <DaysWorked>19</DaysWorked> 
    </Employee> 
... 
</SalaryDetails> 

मैं XmlDocument का उपयोग कर नौकर रिकॉर्ड के रूप में डेटाबेस में सभी डेटा रखना चाहते हैं।

XmlDocument xdcDocument = new XmlDocument(); 

xdcDocument.Load(@"D:\SalaryDetails.xml"); 

XmlElement xelRoot = xdcDocument.DocumentElement; 
XmlNodeList xnlNodes = xelRoot.SelectNodes("/SalaryDetails/Employee"); 

foreach(XmlNode xndNode in xnlNodes) 
    { 
     //What to write here?? 
     //My sql insert command will go here 
    } 

AnnualSalary और DaysWorked पूर्णांक हैं:

तो मैं इस तरह एक पाश लिखा था।

+0

शायद आपका डेटाबेस एक्सएमएल को मूल रूप से समर्थन देगा, तो आप केवल उस एक्सएमएल को डेटाबेस में भेज सकते हैं और इसे विवरण संभाल सकते हैं? –

+0

मुझे डेटासेट में ReadXml() का उपयोग नहीं करना चाहिए। मैं केवल XmlDocument का उपयोग कर सकता हूं। – sujeesh

उत्तर

11

कोशिश:

foreach (XmlNode xndNode in xnlNodes) 
{ 
    string name= xndNode ["Name"].InnerText; 
    string AnnualSalary= xndNode ["AnnualSalary"].InnerText; 
    string DaysWorked= xndNode ["DaysWorked"].InnerText; 

//Your sql insert command will go here; 
} 
+0

शायद कुछ त्रुटि प्रबंधन को जोड़ना - बस अगर किसी नोड्स में मौजूद नहीं हो सकता है ... –

+0

अपने xml दस्तावेज़ के अनुसार उत्तर मानना –

1

xndNode में नाम, वार्षिक सैलरी और डेज़वर्क्ड फ़ील्ड के साथ एक कर्मचारी वस्तु है। यह सिर्फ इन्हें SQL डेटाबेस में परिवर्तित करने और पंक्ति को आपके डेटाबेस में एक तालिका में डालने का मामला है। जानकारी के डेटाबेस विशिष्ट होगा, लेकिन यह इस

insert into employee values (name, annual_salary, days_worked) 

कर्मचारियों मान लिया जाये कि जैसे कुछ नाम से keyed रहे हैं होना चाहिए