2009-06-12 2 views
1

файл выглядит следующим образом:как загрузить файл XML в DropDownList в asp.net

<?xml version="1.0" encoding="utf-8" ?> 
    <data> 
    <a7190> 
    <food>Almond</food> 
    <food>American Cheese</food> 
    <food>Apple</food> 
    </a7190> 
    <a7191> 
    <food>Trout</food> 
    <food>Tuna</food> 
</a7191> 
    <food>Turkey</food> 
    <food>Wheat</food> 
<a7193> 
    <food>Yogurt</food> 
    </a7193> 
    </data> 

я только нужно загрузить a7190, a7191 и т.д.

Я использую ASP.NET и хотя я довольно хорошо разбираюсь в vb.net, asp.net совершенно для меня совершенно

+0

Какой текст/значение вы хотите в раскрывающемся списке? – ScottE

+0

@ScottE я просто хочу A71 .. теги –

ответ

3

This article описывает, как это сделать, используя XMLDataSource, присутствующий в ASP.NET.

EDIT: Я просто запускал код через конвертер C# на VB located here, поэтому синтаксис не гарантируется.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 
    If Not IsPostBack Then 
        'call to the function to populate dropdownlist from xml' 
         PopulateDDLFromXMLFile() 
    End If 
End Sub 

    'populates the dropdownlist from xml file' 
    Public Sub PopulateDDLFromXMLFile() 
        Dim ds As New DataSet() 
        ds.ReadXml(MapPath("~/Resources/XMLFile.xml")) 
        
        'get the dataview of table "Country", which is default table name' 
        Dim dv As DataView = ds.Tables("Country").DefaultView 
        'or we can use:' 
        'DataView dv = ds.Tables[0].DefaultView;' 
        
        'Now sort the DataView vy column name "Name"' 
        dv.Sort = "Name" 
        
        'now define datatext field and datavalue field of dropdownlist' 
        ddlCountry.DataTextField = "Name" 
        ddlCountry.DataValueField = "ID" 
        
        'now bind the dropdownlist to the dataview' 
        ddlCountry.DataSource = dv 
        ddlCountry.DataBind() 
    End Sub 
+0

@Matthew Jones очень приятно, есть версия vb этого? –

+0

что означает «If Not IsPostBack Then»? Большое вам спасибо –

+0

В этом случае код будет заполнять выпадающий список только при загрузке страницы, а не в последующих последующих обратных передачах. –

1

Я не знаю, что ASP.NET предоставляет вам какие-либо инструменты здесь, которые у вас не были бы в консольном приложении или приложении Windows , Вы можете попробовать использовать LINQ-to-XML, чтобы вытащить нужные элементы и связать этот результат как источник данных с выпадающим списком.

+1

@Brian Sullivan вы можете описать, как это сделать. я новичок! спасибо –

Смежные вопросы