现在的位置: 首页 > 综合 > 正文

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

2013年03月12日 ⁄ 综合 ⁄ 共 2607字 ⁄ 字号 评论关闭

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");
        }

抱歉!评论已关闭.