您的位置:首页 > 其它

城市列表按首字母自动排列

2013-09-10 09:22 288 查看
public XPathNodeIterator GetRegionsGroupbyPY()

        {

            XmlDocument doc = new XmlDocument();

            XmlElement root = doc.CreateElement("root");

            doc.AppendChild(root); for (char firstPY = 'A';

                firstPY <= 'Z'; firstPY++)

                {

                string firstPYStr = firstPY.ToString();

                XmlElement pyElement = doc.CreateElement("FirstPY");

                pyElement.SetAttribute("letter", firstPYStr);

                foreach (KeyValuePair<int, RegionTO> regionKV in ApplicationData.Regions)

                {

                    XmlElement regionNode = doc.CreateElement("Region");

                    if (regionKV.Value.RegionId == 0) //香港

                    {

                        if (firstPY == 'X')

                    {

                        pyElement.AppendChild(regionNode);

                        XmlElement element = doc.CreateElement("RegionId");

                        element.InnerText = regionKV.Value.RegionId.ToString();

                        regionNode.AppendChild(element); element = doc.CreateElement("NameLang1");

                        element.InnerText = regionKV.Value.NameLang1; regionNode.AppendChild(element);

                    }

                    }

                    else if (regionKV.Value.RegionId == 1) //澳门

                    {

                        if (firstPY == 'A') { pyElement.AppendChild(regionNode);

                            XmlElement element = doc.CreateElement("RegionId");

                            element.InnerText = regionKV.Value.RegionId.ToString();

                            regionNode.AppendChild(element);

                            element = doc.CreateElement("NameLang1");

                            element.InnerText = regionKV.Value.NameLang1;

                            regionNode.AppendChild(element);

                        }

                    }

                    else if (regionKV.Value.CallName.StartsWith(firstPYStr.ToLower()) && regionKV.Value.Status >= (int)RegionStatus.normal)

                    {

                        pyElement.AppendChild(regionNode);

                        XmlElement element = doc.CreateElement("RegionId");

                        element.InnerText = regionKV.Value.RegionId.ToString();

                        regionNode.AppendChild(element);

                        element = doc.CreateElement("NameLang1");

                        element.InnerText = regionKV.Value.NameLang1;

                        regionNode.AppendChild(element);

                    }

                }

                if (pyElement.ChildNodes.Count > 0)

                    root.AppendChild(pyElement);

            }

            XPathNavigator nav = doc.CreateNavigator();

            return nav.Select("/root/FirstPY");

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: