private void SetAttrsByArraylistToJobAttrs(XmlDocument xmldoc, XmlElement parentElem, string[] attrs, ArrayList[] arraylist, string attrname) { //循环给每一个节点赋值,并挂载到父节点 int i = 0; foreach (var item in arraylist) { XmlElement element = xmldoc.CreateElement(attrname); object[] obj = item.ToArray(); XmlGenerate.AutoGerateCNodeAttr_CORE(element, parentElem, attrs, obj); i++; } }
/// <summary> /// 给子节点组中的子节点属性批量赋值 /// </summary> /// <param name="xmldoc"></param> /// <param name="parentElemt"></param> /// <param name="xmlElements"></param> /// <param name="attrs"></param> /// <param name="list"></param> /// <param name="attrname"></param> internal static void SetAttrsByArrayToJobAttrs2(XmlDocument xmldoc, XmlElement parentElemt, XmlElement[] xmlElements, string[] attrs, List <Dictionary <string, string> > list, string attrname) { foreach (var xmlelement in xmlElements) { XmlElement childElem = xmldoc.CreateElement(attrname); int i = 0; foreach (var listelement in list) { XmlGenerate.AutoGerateCNodeAttr_CORE(parentElemt, childElem, attrs, listelement.Values.ToArray()); i++; } string count = parentElemt.OuterXml; } //循环给每一个节点赋值,并挂载到父节点 //加载父节点;{rootNode.Name} 设置子节点 {nodeChild.Name} 属性:{attrName[i]} 属性值: {value[i]} }
internal static void SetAttrsByArrayToJobAttrs(XmlDocument xmldoc, XmlElement parentElem, XmlElement[] xmlElements, string[] attrs, List <string[]> list, string attrname) { //foreach (var xmlelement in xmlElements) //{ //循环给每一个节点赋值,并挂载到父节点 foreach (var listElem in list) { int i = 0; XmlElement childElem = xmldoc.CreateElement(attrname); XmlGenerate.AutoGerateCNodeAttr_CORE(parentElem, childElem, attrs, listElem.ToArray()); i++; } //} //循环给每一个节点赋值,并挂载到父节点 //int i = 0; //foreach (var item in list) //{ // XmlElement element = xmldoc.CreateElement(attrname); // XmlGenerate.AutoGerateCNodeAttr_CORE(element, parentElem, attrs, item.ToArray()); // i++; //} }
/// <summary> /// 给子节点组中的子节点属性批量赋值 /// </summary> /// <param name="xmldoc"></param> /// <param name="parentElemt"></param> /// <param name="xmlElements"></param> /// <param name="attrs"></param> /// <param name="list"></param> /// <param name="attrname"></param> internal static void SetAttrsByArrayToJobAttrs3(XmlDocument xmldoc, XmlElement parentElemt, XmlElement[] xmlElements, List <Dictionary <string, string> > list, string attrname) { //int i = 0; //最原始的想法 再引入数组批量赋值 xmlelement.SetAttribute(list[i].Keys,list[i].Values); List <string[]> keyslist = new List <string[]>(); List <string[]> valueslist = new List <string[]>(); try { foreach (var li in list) { int j = 0; int k = 0; string[] strkey = new string[li.Keys.Count]; string[] strvalue = new string[li.Keys.Count]; foreach (var key in li.Keys) { strkey[j] = key.ToString(); j++; } keyslist.Add(strkey); foreach (var value in li.Values) { strvalue[k] = value.ToString(); k++; } valueslist.Add(strvalue); } } catch (Exception ex) { string exstr = ex.ToString(); //throw; } int i = 0; foreach (var xmlelement in xmlElements) { XmlElement childElem = xmldoc.CreateElement(attrname); XmlGenerate.AutoGerateCNodeAttr_CORE(parentElemt, childElem, keyslist[i].ToArray(), valueslist[i].ToArray()); i++; } //foreach (var xmlelement in xmlElements) //{ // int q = 0; // //xmlelement = xmldoc.CreateElement(attrname); // for (int m = 0; m < 12; m++) // { // xmlelement.SetAttribute(list[q].[m], strvalue[m]); // } // parentElemt.AppendChild(xmlelement); //} //循环给每一个节点赋值,并挂载到父节点 string count = parentElemt.OuterXml; //加载父节点;{rootNode.Name} 设置子节点 {nodeChild.Name} 属性:{attrName[i]} 属性值: {value[i]} }