Пример #1
0
        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));
            }
        }