2017-06-01 95 views
0

XML文件,我有一個結構類似這樣的XML文件:MVC追加節點使用jQuery/C#

<ArrayOfUser 
<User> 
    <FirstName>John</FirstName> 
</User> 
</ArrayOfUser 

我試圖從表單中抓取信息,並把它添加到XML文件。

在我家的控制器我有這樣的代碼:

[HttpPost] 
     public string writeMe() 
     { 
      string xmlFilePath = @"~App_Data/users.xml"; 
      XmlDocument doc = new XmlDocument(); 
      doc.Load(xmlFilePath); 
      XmlElement foo = doc.CreateElement("User"); 
      XmlElement bar = doc.CreateElement("FirstName"); 
      bar.InnerText = "Test"; 
      foo.AppendChild(bar); 
      doc.DocumentElement.AppendChild(foo); 
      doc.Save(xmlFilePath); 
      return null; 
     } 

我的JS代碼如下所示(用於測試目的目前還沒有傳遞任何):

var FirstName = $("input[name='FirstName']").val(); 

    $.post("/Home/writeMe", 
       {}, 
       function (response) { 
        alert("test"); 
       } 
      );  

我得到以下錯誤:「莫非找不到路徑'C:\ Program Files(x86)\ IIS Express \〜App_Data \ users.xml'的一部分。「」

我嘗試了其他路徑,例如... App_Data \ users.xml,等無濟於事。除了這個錯誤,我不確定我正在接近這個,因爲我非常新使用MVC並用於winforms。任何提示或幫助將不勝感激。

+0

'字符串xmlFilePath = @ 「〜App_Data文件/ users.xml中」;'應該是'字符串xmlFilePath = @ 「〜/ App_Data文件/ users.xml中」;它'缺少'/'。 –

+0

何時我改變它我現在得到System.IO.DirectoryNotFoundException:'找不到路徑的一部分'C:\ Program Files文件(x86)\ IIS Express \〜\ App_Data \ users.xml'。 – sm1l3y

+1

哦,好的:'doc.Load(Server.MapPath(xmlFilePath))'。同樣在'save' –

回答

1

按照以下兩個步驟來解決您的問題:

  1. 認沽users.xml中爲App_Data文件夾在你的Visual Studio Web項目。
  2. 獲取路徑的App_Data文件夾與此Server.MapPath("~/App_Data");