- XML code
<?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>2087</q1:properties> <q1:url>http://www.elong.com/hotels/Search.aspx?raCityName=%u5317%u4EAC</q1:url> <q1:districts> <q1:location> <q1:id>0001</q1:id> <q1:name>西城区</q1:name> </q1:location> <q1:location> <q1:id>0002</q1:id> <q1:name>东城区</q1:name> </q1:location> <q1:location> <q1:id>0003</q1:id> <q1:name>朝阳区</q1:name> </q1:location>
这是xml代码。
- C# code
ds.ReadXml(Server.MapPath("xml/geo_cn.xml"));string province =ds.Tables[0].Rows[i]["provinceId"].ToString();
这是c#代码。
问题:我现在可以获取这个provinceId节点的信息。获取不到districts节点里面的值。 我应该怎么获取districts节点下的location,id,name节点里面的值呢?求大虾帮帮忙!~~
------解决方案--------------------------------------------------------
string id=ds.table["districts"].rows[]["id"].tostring();
location,name 同理。
这里districts 单独成为一个表了 你的DS里面有三个表 。
调试下 什么都出来了
------解决方案--------------------------------------------------------
- C# code
DataSet ds = new DataSet(); ds.ReadXml(Server.MapPath("~/test.xml")); for (int i = 0; i < ds.Tables["location"].Rows.Count; i++) { Response.Write(ds.Tables["location"].Rows[i]["id"] + "<br/>"); Response.Write(ds.Tables["location"].Rows[i]["name"] + "<br/><br/>"); }
------解决方案--------------------------------------------------------
districts应该在另外一个表里。