public void addConductor(conductorParameter p) //声明传递事件的方法 { string[] xElementAddString = new string[10]; //传递参数保存至数组 xElementAddString[0] = p.来源; xElementAddString[1] = p.型号; xElementAddString[2] = p.截面; xElementAddString[3] = p.外径; xElementAddString[4] = p.单位质量; xElementAddString[5] = p.额定拉断力; xElementAddString[6] = p.弹性系数; xElementAddString[7] = p.线膨胀系数; xElementAddString[8] = p.直流电阻; xElementAddString[9] = p.锁定; string filePath = textBox1.Text; XElement xmlDoc; xmlDoc = XElement.Load(filePath); XNamespace cDB = "conductorDataBase-2019.11.8-LiDai"; //为所有元素添加命名空间以去除xmlns="" XElement conductorElement = new XElement(cDB + "导线", new XElement(cDB + "来源", xElementAddString[0]), new XElement(cDB + "型号", xElementAddString[1]), new XElement(cDB + "截面mm2", xElementAddString[2]), new XElement(cDB + "外径mm", xElementAddString[3]), new XElement(cDB + "单位质量kg每m", xElementAddString[4]), new XElement(cDB + "额定拉断力N", xElementAddString[5]), new XElement(cDB + "弹性系数N每mm2", xElementAddString[6]), new XElement(cDB + "线膨胀系数每度", xElementAddString[7]), new XElement(cDB + "二十度直流电阻ohm每公里", xElementAddString[8]), new XElement(cDB + "锁定", xElementAddString[9]) ); xmlDoc.Add(conductorElement); //添加元素至xml xmlDoc.Save(filePath); }
private void button1_Click(object sender, RoutedEventArgs e) //赋值添加导线参数调用传递事件 { conductorParameter p = new conductorParameter() { 来源 = textBox1.Text, 型号 = textBox2.Text, 截面 = textBox3.Text, 外径 = textBox4.Text, 单位质量 = textBox5.Text, 额定拉断力 = textBox6.Text, 弹性系数 = textBox7.Text, 线膨胀系数 = textBox8.Text, 直流电阻 = textBox9.Text, 锁定 = checkBox1.IsChecked.ToString() }; //textbox3-9内字符串转双精度,checkbox1内为布尔值 eventDelegate(p); Close(); }