<?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);
}
}
<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);
}
}
<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>></nameitem>
<nameitem><</nameitem>
<nameitem><=</nameitem>
<nameitem>>=</nameitem>
</selectcondition>
<selectcondition name="birth">
<birthitem>></birthitem>
<birthitem><</birthitem>
<birthitem><=</birthitem>
<birthitem>>=</birthitem>
<birthitem><></birthitem>
<birthitem>=</birthitem>
</selectcondition>
<selectcondition name="sex">
<sexitem><></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中解析,并实现动态加载。