[C#] XmlNode的innertext没有改变 [英] [C#] XmlNode's innertext is not changing

查看:241
本文介绍了[C#] XmlNode的innertext没有改变的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我一直在尝试使用C#从WinForm更改XML节点的innertext。

MessageBox显示需要。

我没有想法为什么它没有改变xml文件。

没有任何例外。







  private   void  btnUpdate_Click( object  sender,EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load( @ users.xml);
XmlNodeList elem = doc.GetElementsByTagName( ID);
foreach (XmlNode gettags in elem)
{
gettags。 FirstChild.InnerText = needed;
gettags.FirstChild.Value = needed;
MessageBox.Show(gettags.FirstChild.InnerText);
}
}

解决方案

如果更改值,则不会自动保存文件。如果您准备更新文件,请使用保存方法保存:

  private   void  btnUpdate_Click( object  sender,EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load( @ users.xml);
XmlNodeList elem = doc.GetElementsByTagName( ID);
foreach (XmlNode gettags in elem)
{
gettags。 FirstChild.InnerText = needed;
gettags.FirstChild.Value = needed;
MessageBox.Show(gettags.FirstChild.InnerText);
}
doc.Save( users.xml); // < - 保存文件
}


Hello , I've been trying to change XML node's innertext from a WinForm by using C# .
MessageBox shows the "needed".
I've got no idea why It is not changing the xml file.
It is not giving any exceptions.



private void btnUpdate_Click(object sender, EventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(@"users.xml");
            XmlNodeList elem = doc.GetElementsByTagName("ID");
            foreach (XmlNode gettags in elem)
            {
                gettags.FirstChild.InnerText = "needed";
             gettags.FirstChild.Value="needed";  
                MessageBox.Show(gettags.FirstChild.InnerText);
            }
        }

解决方案

If you change a value, it doesn't save the file automatically. If you're ready updating your file, save it using the Save method:

private void btnUpdate_Click(object sender, EventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(@"users.xml");
            XmlNodeList elem = doc.GetElementsByTagName("ID");
            foreach (XmlNode gettags in elem)
            {
                gettags.FirstChild.InnerText = "needed";
             gettags.FirstChild.Value="needed";  
                MessageBox.Show(gettags.FirstChild.InnerText);
            }
            doc.Save("users.xml"); // <-- save the file
        }


这篇关于[C#] XmlNode的innertext没有改变的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆