写一个小程序,从xml中读取数据,
***************************** User.xsd 文件如下 *****************************
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Tbl_User" targetNamespace="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:element name="Tbl_User" msdata:Locale="zh-CHS">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element name="UserName" type="xs:string" />
<xs:element name="UserPwd" type="xs:string" />
<xs:element name="Role" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>************************ User.xml 文件如下 ************************
<?xml version="1.0" standalone="yes"?>
<Tbl_User>
<User>
<UserName>Admin</UserName>
<UserPwd>123</UserPwd>
<Role>1</Role>
</User>
<User>
<UserName>user</UserName>
<UserPwd>123</UserPwd>
<Role>1</Role>
</User>
</Tbl_User>
*****************************************************************程序如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;
using System.Reflection;namespace FreeCarManager
{
public partial class LoginFrm : Form
{ private string currentPath;
public LoginFrm()
{
InitializeComponent();
} private void LoginFrm_Load(object sender, EventArgs e)
{
currentPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
ListUser();
} private void ListUser()
{
//初始化DataSet
System.Data.DataSet DS = new System.Data.DataSet();
//初始化XML架构文件操作流
FileStream FsXSD = new FileStream(currentPath+@"\User.xsd", FileMode.Open);
//初始化XML架构读取设备
XmlTextReader xtrXSD = new XmlTextReader(FsXSD);
//载入XML架构到DS中
DS.ReadXmlSchema(xtrXSD);
//关闭XML架构读取设备
xtrXSD.Close();
//关闭XML架构文件操作流
FsXSD.Close();
//按照装载了的XML架构载入XML数据到DS
DS.ReadXml(currentPath+@"\User.XML");
UserNameCBox.DataSource = DS.Tables[0];
UserNameCBox.DisplayMember = "UserName";
UserNameCBox.ValueMember = "UserName";
UserNameCBox.DataBindings.Add("SelectedValue", DS.Tables[0], "UserName");
label1.Text = DS.Tables[0].Rows.Count.ToString();
} private void CancelBtn_Click(object sender, EventArgs e)
{
Close();
}
}
}*****************************************************************郁闷的是死活取不出来数据,dataset里一直没有数据,请高手指点。
注:这是个 pocket pc 2003 程序。
***************************** User.xsd 文件如下 *****************************
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Tbl_User" targetNamespace="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:element name="Tbl_User" msdata:Locale="zh-CHS">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="User">
<xs:complexType>
<xs:sequence>
<xs:element name="UserName" type="xs:string" />
<xs:element name="UserPwd" type="xs:string" />
<xs:element name="Role" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>************************ User.xml 文件如下 ************************
<?xml version="1.0" standalone="yes"?>
<Tbl_User>
<User>
<UserName>Admin</UserName>
<UserPwd>123</UserPwd>
<Role>1</Role>
</User>
<User>
<UserName>user</UserName>
<UserPwd>123</UserPwd>
<Role>1</Role>
</User>
</Tbl_User>
*****************************************************************程序如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;
using System.Reflection;namespace FreeCarManager
{
public partial class LoginFrm : Form
{ private string currentPath;
public LoginFrm()
{
InitializeComponent();
} private void LoginFrm_Load(object sender, EventArgs e)
{
currentPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
ListUser();
} private void ListUser()
{
//初始化DataSet
System.Data.DataSet DS = new System.Data.DataSet();
//初始化XML架构文件操作流
FileStream FsXSD = new FileStream(currentPath+@"\User.xsd", FileMode.Open);
//初始化XML架构读取设备
XmlTextReader xtrXSD = new XmlTextReader(FsXSD);
//载入XML架构到DS中
DS.ReadXmlSchema(xtrXSD);
//关闭XML架构读取设备
xtrXSD.Close();
//关闭XML架构文件操作流
FsXSD.Close();
//按照装载了的XML架构载入XML数据到DS
DS.ReadXml(currentPath+@"\User.XML");
UserNameCBox.DataSource = DS.Tables[0];
UserNameCBox.DisplayMember = "UserName";
UserNameCBox.ValueMember = "UserName";
UserNameCBox.DataBindings.Add("SelectedValue", DS.Tables[0], "UserName");
label1.Text = DS.Tables[0].Rows.Count.ToString();
} private void CancelBtn_Click(object sender, EventArgs e)
{
Close();
}
}
}*****************************************************************郁闷的是死活取不出来数据,dataset里一直没有数据,请高手指点。
注:这是个 pocket pc 2003 程序。
要写成foreach的才可以读取
我也很久没用过了
以前有代码,现在硬盘坏了
没办法帮你
我只知道具体的读法
{
//初始化DataSet
System.Data.DataSet DS = new System.Data.DataSet();
//初始化XML架构文件操作流
//FileStream FsXSD = new FileStream(@"c:\User.xsd", FileMode.Open);
//初始化XML架构读取设备
//XmlTextReader xtrXSD = new XmlTextReader(FsXSD);
//载入XML架构到DS中
DS.ReadXmlSchema(@"c:\User.xsd");
//关闭XML架构读取设备
//xtrXSD.Close();
//关闭XML架构文件操作流
//FsXSD.Close();
//按照装载了的XML架构载入XML数据到DS
DS.ReadXml(@"c:\User.XML", XmlReadMode.InferSchema);
UserNameCBox.DataSource = DS.Tables[0];
UserNameCBox.DisplayMember = "UserName";
UserNameCBox.ValueMember = "UserName";
UserNameCBox.DataBindings.Add("SelectedValue", DS.Tables[0], "UserName");
label1.Text = DS.Tables[0].Rows.Count.ToString();
}