我正在编写一个程序,允许用户上传照片,添加标题并保存他们的工作。保存时,他们将更新具有xml数据源的telerik-rotator
我有一个用户可以上传照片的部分。上传照片后,它会将新照片放入images
文件夹中。并且telerik控件有效,因为Default.aspx
有旋转木马工作。
我正在努力的部分是允许用户更新dataSource.xml
这是我背后的代码。
protected void submit_Click(object sender, EventArgs e)
{
if(NameInput.Text == "")
{
generalError.Text = "All fields must be completed";
}
try
{
//create variables to replace xml
string photoString = photoDropDown.SelectedItem.Text;
string caption = NameInput.Text.ToString();
string location = HttpContext.Current.Server.MapPath("dataSource.xml");
XmlDocument xml = new XmlDocument();
xml.Load(location);
XmlElement newElement = xml.CreateElement("slide");
newElement.InnerXml = "<image>" + photoString + "</image><text>" + caption + "</text>";
xml.DocumentElement.SelectNodes("/rotator")[0].AppendChild(newElement);
xml.PreserveWhitespace = true;
xml.Save("dataSource.xml");
}
catch (Exception ex)
{
generalError.Text = ex.ToString();
generalError.Visible = true;
return;
}
generalError.Text = "It worked!";
generalError.Visible = true;
}
这不会引发任何错误。所以xml.Save
正在节省一些东西。但它没有将新节点附加到xml文档。我做错了什么?