<?xml version="1.0" encoding="utf-8"?>
<root>
<left>
<div1>1</div1>
</left>
<center>
</center>
<right>
</right>
</root>public static void XmlMoveNode(string xmlPath,string oldNode,string newNode,string node)
{
...
}我想通过 XmlMoveNode("xxx.xml","root/left","root/right","div1");
实现移动节点。得到结果<?xml version="1.0" encoding="utf-8"?>
<root>
<left>
</left>
<center>
</center>
<right>
<div1>1</div1>
</right>
</root>XmlMoveNode方法要怎么实现,求解。最好有代码。谢谢!
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("../flash/dati.xml")); XmlNode root = xmlDoc.SelectSingleNode("images");//查找<images>
XmlElement xe1 = xmlDoc.CreateElement("thumb");//创建一个<thumb>节点
xe1.SetAttribute("displayNum", "6");//设置该节点displayNum属性
root.AppendChild(xe1);//添加到<images>节点中
root.RemoveChild(你要删除的节点(此节点在image节点下));
xmlDoc.Save(Server.MapPath("../flash/dati.xml"));
http://topic.csdn.net/u/20121016/16/60ccf68f-6f7d-4079-9ed2-08bdd5c6abb6.html?49592
http://topic.csdn.net/u/20121016/16/1d64b845-8da6-4be3-a45b-f8838b110101.html?44998
发多了,回答一个相当于得分 160
public static void XmlMoveNode(string xmlPath,string oldNode,string newNode,string node)
{
...
}
方法实现下吗?谢谢
public static void XmlMoveNode(string xmlPath, string oldNode, string newNode, string node)
{
XmlDocument xDoc = new XmlDocument();
//加载app.config
xDoc.Load(xmlPath);
XmlNode xNode = xDoc.SelectSingleNode(oldNode);
XmlNode targetNode = xNode.SelectSingleNode(node); ;
if (targetNode == null)
{
throw new Exception("Node not found:" + node);
}
else
{
xNode.RemoveChild(targetNode);
}
XmlNode yNode = xDoc.SelectSingleNode(newNode);
yNode.AppendChild(targetNode);
xDoc.Save(xmlPath);
}其实就是选择节点,remove,add
有的地方还得加判断。