代码如下:
string str_key="1";
XmlDocument xd=new XmlDocument();
xd.Load(Server.MapPath("userTable.xml"));
XmlNode xn;
xn=xd.SelectSingleNode("users/user[@id=\""+str_key+"\"]");
xn.ChildNodes[1].InnerText="bbc";
xd.Save("userTable.xml");
userTable.xml结构如下:
<users>
   <user id="1">
       <userName>james</userName>
       <userPwd>ass</userPwd>
       <usertype>admin</usertype>
   </user>
   .
   .
   .
</users>
但userTable.xml的内容没有变!
请问我如何才可以更新id="1"的user下的userName的innerText??

解决方案 »

  1.   

    没时间帮你写了.这个是我写的删除的代码,你看一下就知道了.
    其实我认为你没必要把他们分开写,给接点加属性就可以了.
    System.Xml.XmlDocument deltimedoc=new System.Xml.XmlDocument();
    deltimedoc.Load(timepath);
    XmlNode timenode=deltimedoc.SelectSingleNode("Setup");
    foreach(XmlNode xn in timenode.ChildNodes)
    {
    XmlElement xe=(XmlElement)xn;
    if(xe.InnerText.Trim()==deltime)
    {
    timenode.RemoveChild(xe);
    break;
    }
    }
    deltimedoc.Save(timepath);
      

  2.   

    try:xn=xd.SelectSingleNode("//user[@id="+str_key+"]");
    xn.ChildNodes[0].InnerText="bbc";
    xd.Save("userTable.xml");