我有一个下接列表,是绑定的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>
即要更改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>
<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;
}
<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>