解析プレフィックス付きのxml
1721 ワード
ゲットするxml
<?xml version="1.0" encoding="utf-8"?>
<q1:HotelGeoList xmlns:q1="http://api.elong.com/staticInfo/">
<q1:HotelGeo>
<q1:id>1</q1:id>
<q1:country> </q1:country>
<q1:provinceName> </q1:provinceName>
<q1:provinceId>0100</q1:provinceId>
<q1:cityName> </q1:cityName>
<q1:cityCode>0101</q1:cityCode>
<q1:properties>2098</q1:properties>
<q1:url>http://www.elong.com/hotels/Search.aspx?raCityName=%u5317%u4EAC</q1:url>
/// <summary>
/// ID
/// </summary>
/// <param name="cityName"></param>
/// <returns></returns>
private string GetCityIdByName(string cityName)
{
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath("/xmlhotelfile/geo_cn.xml"));
XmlElement root = doc.DocumentElement;
XmlNodeList list1 = root.GetElementsByTagName("q1:HotelGeo");
int len = list1.Count;
for (int i = 0; i < len; i++)
{
string cityId = list1[i]["q1:cityCode"].InnerText;
if (list1[i]["q1:cityName"].InnerText == cityName)
{
i = len;
return cityId;
break;
}
}
return "";
}
上のサイクルはどこですか?同僚の話によると、変数lenで彼を貯金したら、効率がよくなります。毎回数量を計算しなくてもいいです。サイクルごとに数量を計算すると、効率が悪くなります。