<?xml version="1.0" encoding="utf-8" ?>
<Tables>
<Table>
<Name>test</Name><!--要监控的数据表的表名-->
</Table>
<Table>
<Name>test</Name>
<!--要监控的数据表的表名-->
</Table>
</Tables>
[Serializable]
public class Table
{
[XmlElement(ElementName = "Name")]
public string Name
{
get;
set;
}
}
如何将这样的XML反序列化到一个Table数组中,不定义其它的类
<Tables>
<Table>
<Name>test</Name><!--要监控的数据表的表名-->
</Table>
<Table>
<Name>test</Name>
<!--要监控的数据表的表名-->
</Table>
</Tables>
[Serializable]
public class Table
{
[XmlElement(ElementName = "Name")]
public string Name
{
get;
set;
}
}
如何将这样的XML反序列化到一个Table数组中,不定义其它的类
private void button2_Click(object sender, System.EventArgs e) { OpenFileDialog o = new OpenFileDialog(); o.Filter = " XML文档|*.XML|所有文件|*.*"; if( o.ShowDialog() == DialogResult.OK ) { try { XmlSerializer xs = new XmlSerializer( typeof( TestXML ) ); Stream s = o.OpenFile(); TestXML a = xs.Deserialize( s ) as TestXML; tbName.Text = a.name; tbSex.Text = a.sex; tbAge.Text = a.age; s.Close(); } catch( Exception ex ) { MessageBox.Show( ex.Message ); } } }
把反序列化出来的值 遍历给datatable 就行了
private void button2_Click(object sender, System.EventArgs e)
{ OpenFileDialog o = new OpenFileDialog();
o.Filter = " XML文档|*.XML|所有文件|*.*";
if( o.ShowDialog() == DialogResult.OK )
{
try
{
XmlSerializer xs = new XmlSerializer( typeof( TestXML ) );
Stream s = o.OpenFile();
TestXML a = xs.Deserialize( s ) as TestXML;
tbName.Text = a.name; tbSex.Text = a.sex;
tbAge.Text = a.age; s.Close();
}
catch( Exception ex )
{
MessageBox.Show( ex.Message );
}
}
}
{
TextReader reader = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + "config.xml");
XmlSerializer ser = new XmlSerializer(typeof(Table));
Table tab = (Table)ser.Deserialize(reader);
reader.Dispose(); Console.ReadKey();
}
[Serializable]
public class Table
{
[XmlElement(ElementName = "Name")]
public string Name
{
get;
set;
}
}
这样是不行的,你说的是什么意思?不明白