Nos últimos dois dias, me interessei pelo xml como banco de dados. Procurei algumas informações e obtive alguns insights que irei registrar aqui. Pode ser considerado um resumo do aprendizado de xml por conta própria. O conteúdo técnico não é muito forte, por isso especialistas e heróis não precisam lê-lo. hehe....
Sem mais delongas, o mais importante para nós programadores é a praticidade. A seguir compartilharemos todo o processo de geração de um banco de dados xml por nós mesmos e depois de fazer o login e verificá-lo.
Primeiro, crie um projeto do Windows, arraste duas TextBoxes da caixa de ferramentas com os IDs UserName e UserPwd e, em seguida, arraste dois botões com os IDs btnOK e btnGen. As propriedades do texto são definidas como "Verificação" e "Estabelecer".
Em seguida, adicione o seguinte código ao evento click do btnGen para gerar um arquivo xml como banco de dados:
XmlDocument xd = new XmlDocument();
XmlNode xnDec = xd.CreateNode(XmlNodeType.XmlDeclaration, "", "");
XmlElement xeRoot = xd.CreateElement("Usuários");
xd.AppendChild(xnDec);
xd.AppendChild(xeRoot);
XmlElement xe1 = xd.CreateElement("Usuários");
XmlElement xe1Name = xd.CreateElement("NomeUsuário");
XmlElement xe1Pass = xd.CreateElement("UserPassword");
xe1Name.InnerText = "Jack";
xe1Pass.InnerText = "123";
xeRoot.AppendChild(xe1);
xe1.AppendChild(xe1Nome);
xe1.AppendChild(xe1Pass);
XmlElement xe2 = xd.CreateElement("Usuários");
XmlElement xe2Name = xd.CreateElement("NomeUsuário");
XmlElement xe2Pass = xd.CreateElement("UserPassword");
xe2Name.InnerText = "Rei";
xe2Pass.InnerText = "123";
xeRoot.AppendChild(xe2);
xe2.AppendChild(xe2Nome);
xe2.AppendChild(xe2Pass.Save
(Application.StartupPath + " \Users.xml ");
Em seguida, insira o seguinte código no evento click de btnOK como uma seção de verificação. É claro que não criptografei as informações confidenciais relevantes no arquivo xml.
DataSet ds = new DataSet();
ds.ReadXml(Application.StartupPath + " \Users.xml ");
//DataView dv = new DataView();
//dv = ds.Tables[0].DefaultView;
//dv.Sort = "NomeUsuário";
//dv.RowFilter = "UserName ='" + UserName.Text.Trim() + "'";
DataTable dt = ds.Tables[0];
=
'" + UserName.Text.Trim() + "'");
if (dta != null && dta.Length > 0 )
{
DataRow dr = dta[0];
string strPwd = (string)dr["UserPassword"];
if (strPwd == this.UserPwd.Text.Trim())
{
MessageBox.Show("OK");
}
outro
{
MessageBox.Show("Não, OK");
}
}
outro
{
MessageBox.Show("Esta conta não");
}
http://www.cnblogs.com/jinliangliu/archive/2007/01/08/614813.html