读书人

关于xml转dataset类型后 读取子节点信

发布时间: 2012-11-04 10:42:42 作者: rapoo

关于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应该在另外一个表里。

读书人网 >asp.net

热点推荐