<?xml version="1.0" encoding="UTF-8"?>
<Controls>
  <Control Name= "AAA" Value = "1111111"/>
  <Control Name= "BBB" Value = "2222222"/>
  //...................
</Controls>
-------------------------------------
XmlDocument doc = new XmlDocument();
doc.Load("lujin");//
XmlNode node = doc.SelectSingleNode("Controls");
if(node != null)
{
  foreach(XmlNode n in node.ChildNodes)
  {
    TextBox tb = new TextBox();
    tb.Location = ...
    tb.Name = n.Attributes["Name"].InnerText;
    tb.Text = n.Attributes["Value"].InnerText;
    this.Controls.Add(tb);
  }
}

解决方案 »

  1.   

    Xpath 解析XML
      

  2.   

    <?xml version="1.0" encoding="utf-8" ?>
    <root>
      <!--查询选项-->
      <selectItems>
        <item id="names" description="姓名" dropdown="false" condition="names" selecttype="namecontrol" />
        <item id="birth" description="生日" dropdown="false"   condition="birth" selecttype="birthcontrol"  />
        <item id="sex" description="性别" dropdown="true" condition="sex"  value="sexvalue" selecttype="sexcontrol"  />
      </selectItems>  <!--查询条件-->
      <selectcondition name="names">
        <nameitem>&gt;</nameitem>
        <nameitem>&lt;</nameitem>
        <nameitem>&lt;=</nameitem>
        <nameitem>&gt;=</nameitem>
      </selectcondition>
      <selectcondition name="birth">
        <birthitem>&gt;</birthitem>
        <birthitem>&lt;</birthitem>
        <birthitem>&lt;=</birthitem>
        <birthitem>&gt;=</birthitem>
        <birthitem>&lt;&gt;</birthitem>
        <birthitem>=</birthitem>
      </selectcondition>
      <selectcondition name="sex">
        <sexitem>&lt;&gt;</sexitem>
        <sexitem>=</sexitem>
      </selectcondition>  <!--控件类型-->
      <selecttype id="sexcontrol">
        <typeitem>ComboBox</typeitem>
    </selecttype>
    <selecttype id="birthcontrol">
        <typeitem>DateTimePicker</typeitem>
    </selecttype>
    <selecttype id="namecontrol">
        <typeitem>TextBox</typeitem>
      </selecttype>  <!--值-->
      <selectValues id="sexvalue">
        <value>男</value>
        <value>女</value>
      </selectValues>  <!--查询选项-->
      <useItems id="use">
        <selectItem id="names" />
        <selectItem id="birth" />
        <selectItem id="sex" />
      </useItems>
    </root>
    这样的XML用XPATH解析,在winforms中
    具体业务需求是这样的
    有三个查询条件,第一个查询条件是生日,姓名,性别,从XML中读取出来的,控件类型为下拉列表;第二个控件也为下拉列表,他的值根据第一个条件选择而不同,但是第二个下拉列表里面的值也是从XML中读取出来的,
    第三个控件类型根据第一个条件来定,比如说,当是姓名时,第三个控件类型为textbox,当时性别时,为下拉列表,值为男女,当是生日时为txtbox,而且当你点击文本框时,弹出日历,选择后,把相应的值显示在文本框,但是第三个控件的控件类型从XML中解析,并实现动态加载。
      

  3.   

    没什么捷径,苦力活. 如果可以用.net 3.5,就用Xml.Linq吧, 解析XML轻松很多.
      

  4.   

    对,一定得用,我用.NET 3.5做的,里面的内容远比我想象的复杂,还用到了委托和事件!基本上都没用过!