从Office XML到DataTable

时间:2013-09-17 17:23:58

标签: c# xml excel datatable

n.b。这不是Office Open XML文档,它是大约2003年设计的旧版Office XML文档。

https://en.wikipedia.org/wiki/Microsoft_Office_XML_formats#Excel_XML_Spreadsheet_example

我知道XML可以很容易地加载到DataSet中,而这种XML文档格式确实已导入到DataSet中。

然而,它并不是以一种非常容易获得的方式呈现出来的。我需要的是一个DataTable表示,当您在工作表选项卡中的Excel中打开XML时,如何排列数据。

是否有人知道C#的任何扩展使这成为可能?否则,解决方案将是处理所有XML并手动构建DataTable - 但如果没有人需要访问Office XML文件中的数据作为工作表的DataTable版本,我会感到惊讶。

1 个答案:

答案 0 :(得分:-1)

对于简单的xml文件,也许会帮助这个例子:

using System;
using System.Xml;

namespace ReadXMLfromFile
{
/// <summary>
/// Общее описание класса Class1.
/// </summary>
class Class1
{
    static void Main(string[] args)
    {
        XmlTextReader reader = new XmlTextReader ("books.xml");
        while (reader.Read())  
        {
            switch (reader.NodeType)  
            {
                case XmlNodeType.Element: // Узел является элементом.
                    Console.Write("<" + reader.Name);
                    Console.WriteLine(">");
                    break;
                case XmlNodeType.Text: // Вывести текст в каждом элементе.
                    Console.WriteLine (reader.Value);
                    break;
                case XmlNodeType.EndElement: // Вывести конец элемента.
                    Console.Write("</" + reader.Name);
                    Console.WriteLine(">");
                    break;
            }
        }
        Console.ReadLine();
    }
}
}