2013-12-18 50 views
1

我的XML格式如下。在asp.net中讀取XML子文件

<Test1> 
<Test> 

<Name>A</Name> 
<Image>~/FltImages/DL.gif</Image> 
<Fare>1243.8</Fare> 

<OutbondInfo> 
<Duration>0900</Duration> 
<Type>Non-Stop</Type> 

<Sector> 

<Name>A</Name> 
<Image>~/FltImages/DL.gif</Image> 
<No>4410</No> 
<AirCraftNo>744</AirCraftNo> 
<CabinClass Name="ECONOMY">M</CabinClass> 
</Sector> 
</OutbondInfo> 

<InboundInfo> 
<Duration>0805</Duration> 
<Type>Non-Stop</Type> 
<Sector> 
<Name>A</Name> 
<Image>~/FltImages/DL.gif</Image> 
<No>4410</No> 
<AirCraftNo>744</AirCraftNo> 
<CabinClass Name="ECONOMY">M</CabinClass> 
</Sector> 
</InboundInfo> 

<Type>IT</Type> 
</Test> 
</Test1> 

我正在閱讀的細節如下,但我的代碼不讀取OutbondInfo和InbondInfo下的代碼。如何讀取這些標籤下的數據並保存在相同的DataSet中,如下面的代碼所示。

XmlNode xNode; 
xNode = fc.gettDetail(TextBox1.Text); 
DataSet ds = new DataSet(); 
if (xNode != null) 
{ 
    XmlTextReader xmlTextReader = new XmlTextReader(xNode.OuterXml, XmlNodeType.Element, null); 
    ds.ReadXml(xmlTextReader); 
    GridView1.DataSource = ds; 
    GridView1.DataBind(); 
} 

請幫忙!!

謝謝

回答

1

您的DataSet正在返回多個表。您只能選擇一個表來綁定到一個gridview。這是你的數據集的外觀:

enter image description here

解決方案:對於每個表使用獨立的GridView控件。綁定GridView的象下面這樣:

GridView1.DataSource = ds.Tables["OutbondInfo"]; 
GridView1.DataBind(); 
//Add another GridView "GridView2" in markup 
GridView2.DataSource = ds.Tables["InboundInfo"]; 
GridView2.DataBind(); 

希望它能幫助!