С# XMLDocument для DataTable?
Я предполагаю, что мне нужно сделать это с помощью DataSet, но мне не нравится мой синтаксис.
У меня есть XMLDocument под названием "XmlDocument xmlAPDP".
Я хочу это в DataTable, называемом DataTable dtAPDP.
У меня также есть DataSet, называемый DataSet dsAPDP.
-
если я делаю DataSet dsAPDP.ReadXML(xmlAPDP), это не нравится, потому что ReadXML хочет строку, я предполагаю имя файла?
Ответы
Ответ 1
Никаких необходимых хаков:
xmlAPDP = new XmlDocument()
...
xmlReader = new XmlNodeReader(xmlAPDP)
dataSet = new DataSet()
...
dataSet.ReadXml(xmlReader)
XmlDocument - это XmlNode, а XmlNodeReader - это XmlReader, который принимает ReadXml.
Ответ 2
Как насчет чего-то подобного?
dsAPDP.ReadXml(new MemoryStream(ASCIIEncoding.ASCII.GetBytes(xmlAPDP.OuterXml)))
Ответ 3
Пример 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];
}