日期:2014-05-17  浏览次数:20487 次

textbox内容无法保存到xml中,求助!
页面上只有一个textbox,id设为tbContent,另外有一个保存按钮,id设为btnSave。程序就是将textbox里面的内容保存到xml根节点root下的子节点sysinfo(某个传递过来的type值)下的content里面。
没弄明白哪里不对,直接写node["content"].InnerText=tbContent.text保存不上,将tbContent.text传给一个String,然后再赋值给node["content"].InnerText也不行。
但是,直接写node["content"].InnerText="adsfadfadf",这样就能保存上内容。
第一次弄xml,请指教。

XML code

<?xml version="1.0" encoding="utf-8"?>
<root>
  <sysinfo type="empcards">
    <content>sdf</content>
  </sysinfo>
  <sysinfo type="rules">
    <content>1234</content>
  </sysinfo>
</root>


C# code

//保存按钮
    protected void btnSave_Click(object sender, EventArgs e)
    {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath("Sysinfo.xml"));
        XmlNode node = xmlDoc.SelectSingleNode("root/sysinfo[@type='" + strNode + "']");
        string strContent = "";

        if (tbContent.Text.Length == 0)
        {
            lblError.Text = "内容不能为空";
            return;
        }
        strContent = tbContent.Text.ToString();
        if (node != null)
        {
            node["content"].InnerText = strContent;//赋值
        }
        xmlDoc.Save(Server.MapPath("Sysinfo.xml"));//保存
    }



------解决方案--------------------
你要的。。。

C# code

 protected void btnSave_Click(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("XMLFile1.xml"));
            XmlNode node = xmlDoc.SelectSingleNode("root/sysinfo[@type='rules']");


            node.InnerText = this.tbContent.Text;
            xmlDoc.Save(Server.MapPath("XMLFile1.xml"));
        }

------解决方案--------------------
你贴出来的代码没有问题。
调试一下,看看tbContent.text的值是什么。
应该是tbContent.text有错误。