0

我正在尝试使用 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?

4

2 回答 2

1

你需要打电话doc.Save(Server.MapPath("xml/test.xml"))

在您更改elem值时,它仅在内存中。要提交到磁盘,您必须保存。

于 2013-06-18T16:55:24.043 回答
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;
        }
     }
于 2013-06-18T16:58:55.803 回答