我有一个下接列表,是绑定的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>

解决方案 »

  1.   

    xmlNode.Attributes["db"].Value = strConn;//会出错...原因见楼上...
      

  2.   

    两种改法,第一,改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;
    }
      

  3.   

    我的XML文件是这样的,还是不知道怎么弄.
    <TypeDbLink>
      <dblink>
        <id>10</id>
        <name>从业人员信息</name>
        <db>Data Source=oracle;User Id=shemp;Password=shemp123</db>
        <run>
        </run>
      </dblink>
      <dblink>
        <id>11</id>
        <name>企业信息</name>
        <db>Data Source=oracle;User Id=shcp;Password=shcp123</db>
        <run>
        </run>
      </dblink>
    </TypeDbLink>