XML VB.net 找不到属性



我有一个带有数据集和网格视图的ASP站点,我想显示XML数据。

网格视图不是自动生成的,而是设置为查找酒店ID,名称,状态,城市和国家。

目前,我已经

手动编写了 XML,但是我已经包含此 XML 中需要的包装器标记和其他错误标记,但每当包含它们时,都会显示一个错误,指出网格视图找不到"HOTEL_ID"属性。没有额外的数据,它工作正常。

XML 示例:

<REQUEST><ACTION>HOTEL_LIST</ACTION><RESPONSE><RESULT>0</RESULT>
<HOTELS>
<HOTEL><HOTELID>hot01</HOTELID><NAME>hotel test 1</NAME><CITY>birmingham</CITY><COUNTRY>england</COUNTRY><STATUS>active</STATUS></HOTEL>
<HOTEL><HOTELID>hot02</HOTELID><NAME>hotelabctestabc2abc</NAME><CITY>barca</CITY><COUNTRY>spain</COUNTRY><STATUS>inactive</STATUS></HOTEL>
<HOTEL><HOTELID>hot03</HOTELID><NAME>hotelabctestabcire</NAME><CITY>dublin</CITY><COUNTRY>ireland</COUNTRY><STATUS>active</STATUS></HOTEL>    
</HOTELS>
<ERRORS><ERROR><CODE></CODE><MESSAGE></MESSAGE></ERROR></ERRORS></RESPONSE></REQUEST>`

这是VB代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles   Me.Load
    Dim teststring As String = "THE XML SHOWN ABOVE"
    Dim ds As New DataSet()
    Dim doc As New XmlDocument()
    doc.LoadXml(teststring)
    ds.ReadXml(New System.IO.StringReader(doc.OuterXml))
    GridView1.DataSource = ds
    GridView1.DataBind()

End Sub

'

如果我删除只留下唯一的酒店信息,它会工作并找到该物业;

<HOTELS><HOTEL><HOTELID>hot01</HOTELID><NAME>hotel test 1</NAME><CITY>birmingham</CITY><COUNTRY>england</COUNTRY><STATUS>active</STATUS></HOTEL>

<HOTEL><HOTELID>hot02</HOTELID><NAME>hotelabctestabc2abc</NAME><CITY>barca</CITY><COUNTRY>spain</COUNTRY><STATUS>inactive</STATUS></HOTEL><HOTEL>

<HOTELID>hot03</HOTELID><NAME>hotelabctestabcire</NAME><CITY>dublin</CITY><COUNTRY>ireland</COUNTRY><STATUS>active</STATUS></HOTEL></HOTELS>

我做错了什么?

谢谢。

当您将这样的 XML 文档加载到数据集中时,它会基于数据创建多个表。

若要仅将酒店信息绑定到 GridView,需要确定数据集中的哪个表包含数据,然后将其绑定到 GridView

例如

GridView1.DataSource = ds.Tables(index_of_table_which_contains_data)

希望有帮助。

最新更新