2017-06-01 89 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");