2012-11-22 36 views
1

我想將XML文件存儲爲項目資源,因此在編譯時我不必硬編碼任何文件路徑。當我調用ReadXML時,我不斷收到錯誤。有什麼想法嗎?如果沒有硬編碼路徑的參考文件有更好的方法,請讓我知道。訪問XML文件作爲資源並加載到數據表

謝謝!

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; 
     } 
    } 
} 
+0

你不想物理訪問XML文件???? –

+0

是的,如果我可以放入解決方案來物理訪問它,那就沒問題了。我的問題是,我不想在構建和部署應用程序時中斷文件路徑引用。 –

+0

如果它在解決方案中總是引用相同的地方,我不明白爲什麼你想寫在數據集 –

回答

2

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

試試這個:

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