如何匹配要插入到C#中的ComboBox中的数据?

时间:2012-10-05 05:53:20

标签: c# xml visual-studio-2010 combobox

<root>
    <Bathing>
        <Id>San100</Id>
        <name>Santoor</name>
        <AvailProducts>30</AvailProducts>
        <Cost>20.00</Cost>
    </Bathing>
    <Bathing>
        <Id>Det123</Id>
        <name>Dettol</name>
        <AvailProducts>30</AvailProducts>
        <Cost>15.00</Cost>
    </Bathing>
    <Bathing>
        <Id>Rex123</Id>
        <name>Rexona</name>
        <AvailProducts>30</AvailProducts>
        <Cost>16.00</Cost>
    </Bathing>
</root>

我是C#和XML的新手。这里我使用XML作为数据表。

如何只将姓名元素插入我的ComboBox

3 个答案:

答案 0 :(得分:1)

使用LINQ2XML ..Its COOL

使用System.Xml.Linq

XElement doc=XElement.Load("yourXML.xml"); 
var yourList=doc.Descendants("Bathing").Select(x=>x.Element("name").Value);

yourList现在包含所有名称

foreach (var name in yourList )
        {
            comboBox1.Items.Add(name);
        }

答案 1 :(得分:1)

创建数据集,然后通过数据集读取XML文件,然后将组合框绑定到dataset.Set显示成员为“name”。

string myXMLfile = @"C:\MySchema.xml";
    DataSet ds = new DataSet();
    // Create new FileStream with which to read the schema.
    System.IO.FileStream fsReadXml = new System.IO.FileStream 
        (myXMLfile, System.IO.FileMode.Open);

        ds.ReadXml(fsReadXml);
        combobox1.DataSource = ds;
        combobox1.Displaymember="name";       

答案 2 :(得分:0)

BindingSource bs=new BindingSource;    
DataTable dt=new DataTable;    
bs.DataSource=dt;    
Combobox1.Displaymember="name";