Подтвердить что ты не робот

С# XMLDocument для DataTable?

Я предполагаю, что мне нужно сделать это с помощью DataSet, но мне не нравится мой синтаксис.

У меня есть XMLDocument под названием "XmlDocument xmlAPDP".

Я хочу это в DataTable, называемом DataTable dtAPDP.

У меня также есть DataSet, называемый DataSet dsAPDP.

-

если я делаю DataSet dsAPDP.ReadXML(xmlAPDP), это не нравится, потому что ReadXML хочет строку, я предполагаю имя файла?

4b9b3361

Ответ 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];
}