代码人生的小狗窝

一行行枯燥的代码,却描绘出人生的点点滴滴

您现在的位置是:首页>_C#

更改XML内容有关问题

发布时间:2019-08-17浏览(789)

    更改XML内容问题?
    我有一个下接列表,是绑定的XML数据,要实现按所选择的内容不同,更改XML其他列的值,如何实现?
    即要更改db内容为abc
    我在网上搜的代码如下(不能通过):
      XmlDocument   doc   =   new   XmlDocument();

      //XML路径,可以得到                            
      string   strPath;
      string   strConn   =   "abc ";
      doc.Load(strPath);
      string   ss   =   this.combox.SelectedValue.ToString();
      XmlNode   xmlNode   =   doc.SelectSingleNode( "dblink[@id= ' "   +   ss   +   " '] ");
      xmlNode.Attributes[ "db "].Value   =   strConn;
      doc.Save(strPath);
    _________________________________________________
    XML信息如下:

    <dblink>
    <id> 10 </id>                                  
    <name> 人员信息 </name>
    <db> </db>                
    </dblink>

    ------解决方案--------------------
    你哪是属性选择,而不是节点

    ------解决方案--------------------
    xmlNode.Attributes[ "db "].Value = strConn;//会出错...原因见楼上...
    ------解决方案--------------------
    两种改法,第一,改xml结构为
    <dblink id= "10 " name= "人员信息 " db= " ">

    </dblink>
    这种结构可以不用改代码
    第二种.改代码
    大体如下:
    XmlNodeList xmlNodeList = doc.SelectNodes( "/dblink/db ");//前提是只有一个db,不然最后先//找id列表,判断=10后再找相邻节点db,再改变值
    if(xmlNodeList !=null && xmlNodeList .Count> 0)
    {
    xmlNodeList[0].InnerText= strConn;
    }