2009-05-07 13 views
12

मुझे लगता है कि मुझे डेटासेट के माध्यम से ऐसा करना है, लेकिन यह मेरे वाक्यविन्यास को पसंद नहीं करता है।सी # XMLDocument डेटाटेबल करने के लिए?

मेरे पास एक XMLDocument है जिसे "XmlDocument xmlAPDP" कहा जाता है।

मैं इसे "डेटाटेबल डीटीएपीडीपी" नामक डेटाटेबल में चाहता हूं।

मेरे पास "डेटासेट डीएसएपीडीपी" नामक डेटासेट भी है।

-

अगर मैं डेटासेट dsAPDP.ReadXML (xmlAPDP) यह है कि पसंद नहीं है क्योंकि ReadXml एक स्ट्रिंग चाहता है, मैं एक फ़ाइल नाम मान?

उत्तर

31

कोई हैक्स आवश्यक:

xmlAPDP = new XmlDocument() 
... 
xmlReader = new XmlNodeReader(xmlAPDP) 
dataSet = new DataSet() 
... 
dataSet.ReadXml(xmlReader) 

XmlDocument एक XmlNode है, और XmlNodeReader एक XmlReader, जो ReadXml स्वीकार करता है। ((XmlAPDP.documentElement XmlReader पाठक = नए XmlNodeReader)) `का उपयोग कर {dsAPDP.ReadXml:

+7

मैथ्यू: न भूल जाते हैं आप" का उपयोग "XmlReader, या बेहतर उपयोग बंद करने के लिए (पाठक); reader.Close(); } dtAPDP = dsAPDP.tables [0]; ' – omadawn

2

इस तरह कुछ कैसे?

dsAPDP.ReadXml(new MemoryStream(ASCIIEncoding.ASCII.GetBytes(xmlAPDP.OuterXml))) 
2

ASP.net उदाहरण:

private DataTable GetReportDataTable() 
{ 
    //get mapped path to xml document 
    string xmlDocString = Server.MapPath("CustomReports.xml"); 

    //read into dataset 
    DataSet dataSet = new DataSet(); 
    dataSet.ReadXml(xmlDocString); 

    //return single table inside of dataset 
    return dataSet.Tables[0]; 
} 
संबंधित मुद्दे