一个传入对象的问题
.......
//--设置节点的信息,并且节点下移
void SetInnerXml(XmlNode xn, string sXmlStr)
{
xn.InnerXml = sXmlStr;
xn = xn.NextSibling;
}
........
调用XmlNode xn=XmlDocument1.FirstChild;
SetInnerXml(xn, "value ");
竟然发现xn节点没有指向他的下一个兄弟节点,怎么回事???
------解决方案--------------------up
------解决方案--------------------帮顶`~
------解决方案--------------------友情帮顶。。。
------解决方案--------------------void SetInnerXml(XmlNode xn, string sXmlStr)
{
xn.InnerXml = sXmlStr;
xn = xn.NextSibling;
^^^^^^^^^^^^^这里你重新对xn付值,这样你函数的调用方时没有改变到的
}
// 调用前xn是对象1
SetInnerXml(xn, sXmlStr); // 在函数里面,sn被改了
// 调用后xn还是对象1,因为函数定义没有用引用
------解决方案--------------------
------解决方案--------------------void SetInnerXml(XmlNode xn, string sXmlStr)
{
xn.InnerXml = sXmlStr;
XmlNode next = xn.NextSibling;
xn.ParentNode.RemoveChild(next);
xn.ParentNode.InsertBefore(next,xn);
}
------解决方案--------------------....................................................