将XML文件作为资源访问并加载到datatable

时间:2012-11-22 19:39:26

标签: c# xml resources datatable

我正在尝试将XML文件存储为项目资源,因此在编译时我不必对任何文件路径进行硬编码。当我调用ReadXML时,我继续收到错误。有什么想法吗?如果有更好的方法来引用文件而不对路径进行硬编码,请告诉我。

谢谢!

public class XMLLoad
{

    public DataSet ds { get; set; }
    public string PrimaryKey { get; set; }
    public string XLETable 
    {
        get
        {
            //Returns an XML file
            return Properties.Resources.mainXLETable;
        }
    }

    public XMLLoad(string xmlPrimaryKey)
    {
        this.PrimaryKey = xmlPrimaryKey;
    }

    public DataSet ReturnXMLFileAsDataSet(string dataTableName)
    {
        try
        {
            var reader = XmlReader.Create(XLETable);

            var dt = new DataTable(dataTableName);
            ds.ReadXml(reader);
            dt = ds.Tables[0];

            return ds;
        }
        catch (Exception)
        {
            throw;
        }   
    }
}

1 个答案:

答案 0 :(得分:2)

Create方法期望URL不是包含XML数据的字符串。

试试这个:

var reader = XmlReader.Create(new StringReader(XLETable));