static private void PlaceNodes(XmlDocument dom, int treelevel, int rootid, bool updaterealid) { Dictionary <string, string> attributesDictionary = new Dictionary <string, string>(); XmlNodeList nl = dom.GetElementsByTagName("onl:profile"); foreach (XmlNode node in nl) { attributesDictionary.Clear(); string[] attributenames = { "id", "childrenuri", "uri", "childcount", "parentid" }; // or var attributenames = new Lst<string> {"uri", "childcount"}; foreach (string attributename in attributenames) { if (node.Attributes[attributename] != null) { attributesDictionary.Add(attributename, node.Attributes[attributename].Value); } } string fieldname = node.FirstChild.InnerText; string uri = (attributesDictionary.ContainsKey("uri"))?attributesDictionary["uri"]: ""; string childrenuri = (attributesDictionary.ContainsKey("childrenuri")) ? attributesDictionary["childrenuri"] : ""; int id = Convert.ToInt32((attributesDictionary.ContainsKey("id")) ? attributesDictionary["id"] : "0"); int parentid = Convert.ToInt32((attributesDictionary.ContainsKey("parentid")) ? Convert.ToInt32(attributesDictionary["parentid"]) : id); int childcount = Convert.ToInt32((attributesDictionary.ContainsKey("childcount")) ? attributesDictionary["childcount"] : "0"); if (treelevel.Equals(0)) { rootid = parentid; } int ireal = 0; if (GNAVIGATION) { string realid = getrealprofile(id); bool res = int.TryParse(realid, out ireal); if (res == false) { ireal = 0; } } BusinessRule.AddEntry(treelevel, id, rootid, parentid, fieldname, uri, childcount, childrenuri, ireal, updaterealid); // Console.WriteLine(string.Format("id: {0} name: {1} \n \t childcount: {2} \n \t \t childrenuri:{3} ", id, fieldname, childcount, childrenuri)); } }