应该不可以当数据源一样来使用xml文件。
我写了一个vb的例子,你参考一下。
form上有一combobox名为cbolistImports System.Xml '引用该名字空间然后在form1_load事件中写入:
Dim filename As String = "G:\My Documents\Visual Studio Projects\aaaa\address.xml"
        Dim reader As New XmlTextReader(filename)
        reader.MoveToContent()
        Dim AddressData As Collection, elementname As String
        Do While reader.Read
            Select Case reader.NodeType                Case XmlNodeType.Element
                    If reader.Name = "Address" Then
                        AddressData = New Collection()
                    Else
                        elementname = reader.Name
                    End If
                Case XmlNodeType.Text
                    If Not AddressData Is Nothing Then
                        AddressData.Add(reader.Value, elementname)                    End If
                Case XmlNodeType.EndElement
                    If reader.Name = "Address" Then
                        Dim item As String
                        Try
                            item = AddressData("Name")
                        Catch
                        End Try                        CboList.Items.Add(item)                        AddressData = Nothing
                    End If            End Select
        Loop----------------------
其中address.xml文件结构如下:
<?xml version="1.0" encoding="utf-8" ?>
<AddressBook>
<Addresses>
<Address>
<Name>周化键</Name>
<Email>[email protected]</Email>
</Address>
<Address>
<Name>李小龙</Name>
<Email>[email protected]</Email>
</Address>
<Address>
<Name>比尔该吃</Name>
<Email>[email protected]</Email>
</Address>
</Addresses>
</AddressBook>
---------------------
这样可以实现form_load时,读取xml文件填充cbolist 的item保存为xml的例子比这个稍复杂一些。但也有多难。
你注意一下msdn中的例子。

解决方案 »

  1.   

    上文更正:
    保存为xml的例子比这个稍复杂一些。但也没有多难。
    你注意一下msdn中的例子。
      

  2.   

    其实还有一个简单的方法,不用回那么多xml的东西。你把你要保存的东西放到一个DataTable或DataSet中,C#对他们有很简单的方法。
    System.Data.DataSet myset=new DataSet();
    myset.ReadXml();
    myset.WriteXml();
    这样语法比较方便,也便于管理页面上的各种信息。