我想请问下,
在节点后面添加兄弟结点,要怎么弄.如果图中所示..我想在标记的下面新增一节点,标记的节点我可以获取到
XmlNodeList nodelist = xmlDoc.SelectSingleNode("root").ChildNodes;
XmlElement xe = xmlDoc.CreateElement("img");
xe.SetAttribute("id", nid.ToString());
xe.SetAttribute("dir_1","背景");
xe.SetAttribute("dir_2","社会景");
xe.SetAttribute("sexFlg","2"); foreach(XmlNode xn in nodelist)
{
XmlElement xele = (XmlElement)xn;
string cid = xele.Attributes["id"].InnerText.ToString();
if (cid.Equals(id))//这里的id=210009
{
xn.InsertAfter(xe,xele);//这里报错
}
}
在节点后面添加兄弟结点,要怎么弄.如果图中所示..我想在标记的下面新增一节点,标记的节点我可以获取到
XmlNodeList nodelist = xmlDoc.SelectSingleNode("root").ChildNodes;
XmlElement xe = xmlDoc.CreateElement("img");
xe.SetAttribute("id", nid.ToString());
xe.SetAttribute("dir_1","背景");
xe.SetAttribute("dir_2","社会景");
xe.SetAttribute("sexFlg","2"); foreach(XmlNode xn in nodelist)
{
XmlElement xele = (XmlElement)xn;
string cid = xele.Attributes["id"].InnerText.ToString();
if (cid.Equals(id))//这里的id=210009
{
xn.InsertAfter(xe,xele);//这里报错
}
}
']");//直接选择到你需要的XmlNode
XmlElement xe = xmlDoc.CreateElement("img");
xe.SetAttribute("id", nid.ToString());
xe.SetAttribute("dir_1","背景");
xe.SetAttribute("dir_2","社会景");
xe.SetAttribute("sexFlg","2");node.ParentNode.InsertAfter(xe, node);
public static void Insert(string path, string node, string element, string attribute, string value)
{
try
{
XmlElement element2;
XmlDocument document = new XmlDocument();
document.Load(path);
XmlNode node2 = document.SelectSingleNode(node);
if (element.Equals(""))
{
if (!attribute.Equals(""))
{
element2 = (XmlElement) node2;
element2.SetAttribute(attribute, value);
}
}
else
{
element2 = document.CreateElement(element);
if (attribute.Equals(""))
{
element2.InnerText = value;
}
else
{
element2.SetAttribute(attribute, value);
}
node2.AppendChild(element2);
}
document.Save(AppDomain.CurrentDomain.BaseDirectory.ToString() + path);
}
catch
{
}
}
ds.ReadXml("1.xml");
ds.Tables[0].Rows.Add(new object[] {"4","asdf","ddd","eee" });
ds.Tables[0].DefaultView.Sort ="id asc";
DataTable dtTemp = ds.Tables[0].DefaultView.ToTable();
ds.Tables.Remove(ds.Tables[0]);
ds.Tables.Add(dtTemp);
ds.WriteXml("3.xml");这样如何