您的位置:首页 > 其它

WPF对于xml的简单操作(下下)插入节点并排序

2013-12-06 10:39 246 查看
正如T所说,下下,这个方法不堪入目, ̄□ ̄||

贴上再说

//先搞个struct声明
private struct datastruct
{
public string x;
public string y;
public string z;
}


private void sort()
{
   int i = intIndex + 2;//索引定位
XmlNodeList xnl = xmlRoot.ChildNodes;
datastruct dt0 = new datastruct();
datastruct dt1 = new datastruct();
foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;
      //替换,原数据存入struct
if (xe.GetAttribute("id") == TextBox1.Text)
{
XmlNodeList xnf1 = xe.ChildNodes;
dt0.x = xnf1[0].InnerText;
dt0.y = xnf1[1].InnerText;
dt0.z = xnf1[2].InnerText;
xnf1[0].InnerText = TextBox2.Text;
xnf1[1].InnerText = TextBox3.Text;
xnf1[2].InnerText = TextBox4.Text;
}
    }
    //增加尾节点
    XmlElement xe1 = xmlDoc.CreateElement("Item");
xe1.SetAttribute("id", (listview.Items.Count+1).ToString());
XmlElement xesub1 = xmlDoc.CreateElement("X");
xesub1.InnerText = dt1.x;
xe1.AppendChild(xesub1);
XmlElement xesub2 = xmlDoc.CreateElement("Y");
xesub2.InnerText = dt1.y;
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("Z");
xesub3.InnerText = dt1.z;
xe1.AppendChild(xesub3);
xmlRoot.AppendChild(xe1);
}


水水更健康,xls神马的,自己搞个水水的照样过日子

思路:而当数据大的时候这个,肯定很耗资源,根据文本结构,最理想的方法应该是在所要插入新数据的地方回车,生成新的所需的行数空间,在一一进行写入操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: