当前位置: 代码迷 >> ASP.NET >> 关于xml转dataset类型后 读取子节点信息有关问题
  详细解决方案

关于xml转dataset类型后 读取子节点信息有关问题

热度:6456   发布时间:2013-02-25 00:00:00.0
关于xml转dataset类型后 读取子节点信息问题!
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应该在另外一个表里。
  相关解决方案