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