我正在尝试使用XDocument更新一个简单的xml文件。这是我的简单xml文件
<?xml version="1.0" encoding="utf-8" ?>
<message>Test test test test</message>
上面的xml。
当用户单击Button1时,它会读取xml并将其显示在屏幕上。但是当你点击Button2时,它不会更新xml。
public partial class www_html_test : System.Web.UI.Page
{
XDocument doc;
XElement elem;
protected void Page_Load(object sender, EventArgs e)
{
doc = XDocument.Load(Server.MapPath("xml/test.xml"));
elem = doc.Element("message");
}
protected void Button1_Click(object sender, EventArgs e)
{
try{
Label1.Text = elem.Value.ToString();
} catch(Exception ex){
Label1.Text = ex.Message;
}
}
protected void Button2_Click(object sender, EventArgs e)
{
try{
elem.Value = "test 2 test 2 test 2";
}
catch (Exception ex)
{
Label1.Text = ex.Message;
}
}
}
如何更新xml?
答案 0 :(得分:1)
您需要致电doc.Save(Server.MapPath("xml/test.xml"))
。
在您更改elem
值时,它仅在内存中。要提交到磁盘,您必须保存。
答案 1 :(得分:1)
将按钮2单击事件处理程序更改为
protected void Button2_Click(object sender, EventArgs e)
{
try{
elem.Value = "test 2 test 2 test 2";
doc.Save(Server.MapPath("xml/test.xml"));
}
catch (Exception ex)
{
Label1.Text = ex.Message;
}
}