c#winforms表单加载ComboBox DropDownList从XML文件中获取值

时间:2012-08-28 04:09:22

标签: c# winforms

XML文件:

<?xml version="1.0" encoding="utf-16"?>
<XMLFILE>
 <Active>0</Active>
 <Hits_Method>1</Hits_Method>
</XMLFILE>

我想要做的是在Form1_Load上从XML文件(Hits_Method)获取ComboBox4的值,当程序开始向我显示值时。我尝试这样的事情,但没有成功

// ------------------- StartUP Load
private void Form1_Load(object sender, EventArgs e)
{
    // --------------- Read XML File / Data: Settings_Ads_General
    String xmlfile = "Settings_General.xml";
    XmlTextReader xreader = new XmlTextReader(xmlfile);

    string comboBox4Value = xreader.GetAttribute("Hits_Method");
    comboBox4.SelectedIndex = comboBox4Value;

}

3 个答案:

答案 0 :(得分:2)

请改为尝试:

    private void Form1_Load(object sender, EventArgs e)
    {
        // --------------- Read XML File / Data: Settings_Ads_General
        String xmlfile = "Settings_General.xml";
        XmlDocument doc = new XmlDocument();
        doc.Load(xmlfile);

        string comboBox4Value = doc.SelectSingleNode("XMLFILE/Hits_Method").InnerText;
        comboBox4.SelectedIndex = Convert.ToInt32(comboBox4Value);

    }

SelectSingleNode方法基于XPath表达式提取数据。而“XMLFILE / Hits_Method”是导致你的价值的XPath。

答案 1 :(得分:1)

我将使用XmlDocument和XmlNode类。

{
    String sPath = "file.xml"
    XmlDocument doc = new XmlDocument();
    doc.Load(sPath)
    XmlNode node = doc.SelectSingleNode("XMLFILE/Hits_Method");
    if (node != null)
        comboBox4.SelectedIndex = node.InnerText;
}

答案 2 :(得分:0)

查看MSDN的link礼貌。它提供了一个很好的例子,说明如何获得您正在寻找的价值。