更改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;
}