Professional Documents
Culture Documents
Rate:
2.5919votes
How to make simple Database driven application withXMLplain text. Portable, easy and light weight!
Is your email address OK?You are signed up for our newsletters but your email address is either
unconfirmed, or has not been reconfirmed in a long time. Pleaseclickhereto have a confirmation
email sentso we can confirm your email address and start sending you newsletters again.
Alternatively, you canupdate your subscriptions.
Introduction
XMLData is small code to accessXMLfile as a small database. If your application is small, doesn't need very secure
access, and do you want user doesn't need to install andmaintainanceany database engine.XMLData provide
provide simple access using the power of ADO.NET Dataset.
Copy Code
//Writeanydata(neworupdatedata)toXMLfile
publicstaticvoidsave()
{
ds.WriteXml(Application.StartupPath+"\\XML\\Category.xml",XmlWriteMode.WriteSchema);
}
//Storenewdatainadataview
publicstaticvoidInsert(stringcategoryID,stringCategoryName)
{
DataRowdr=dv.Table.NewRow();
dr[0]=categoryID;
dr[1]=CategoryName;
dv.Table.Rows.Add(dr);
save();
}
//Searchanydataindataviewwithspecificprimarykey,andupdateit'sdata
publicstaticvoidUpdate(stringcategoryID,stringCategoryName)
{
DataRowdr=Select(categoryID);
dr[1]=CategoryName;
save();
}
//Deleteanydatawithspecifickey
publicstaticvoidDelete(stringcategoryID)
{
dv.RowFilter="categoryID='"+categoryID+"'";
dv.Sort="categoryID";
dv.Delete(0);
dv.RowFilter="";
save();
}
//Searchanydataindataviewwithspecificprimarykey
publicstaticDataRowSelect(stringcategoryID)
{
dv.RowFilter="categoryID='"+categoryID+"'";
dv.Sort="categoryID";
DataRowdr=null;
if(dv.Count>0)
{
dr=dv[0].Row;
}
dv.RowFilter="";
returndr;
}
//Loadalldatatodataset
publicstaticDataViewSelectAll()
{
ds.Clear();
ds.ReadXml(Application.StartupPath+"\\XML\\Category.xml",XmlReadMode.ReadSchema);
dv=ds.Tables[0].DefaultView;
returndv;
}
The next class is Categorylist which wrapXMLclass facade class. We can provide any business logic in this class.
This code is very simple, so no business logic. I just callappropriate method inxmlhelper class and wrap them. For
the example, GetMethod is a method that return singleobject according any category id.
HideCopy Code
publicstaticCategoryGetCategory(stringcategoryID)
{
DataRowiDr=null;
iDr=XMLCategory.Select(categoryID);
Categorycat=null;
if(iDr!=null)
{
cat=newCategory();
cat.CategoryID=iDr[0]!=DBNull.Value?iDr[0].ToString():string.Empty;
cat.CategoryName=iDr[1]!=DBNull.Value?iDr[1].ToString():string.Empty;
}
returncat;
}
And the last is UI layer, we just call any method in wrapper class and bind any data for example Dataviewto UI control.
Conclusion
Dataset provide simple access toxmlin easy way. UsingXMLfile as database only recommeded to simple and light
application. It's will beuseful if your only have small data. But if you have millions data, this method isn't
recommeded becauseall ofdata will be load to memory. It's will be consuming very big memory. If you concern to
security,you can encrypt the data use the classes in theSystem.Security.Cryptography.Xmlnamespace. For small
application, this code very cool to representing demo, prototype, and other small application without any database
engine application prerequest. HappyXML!
License
This article has no explicit license attached to it but may contain usage terms in the article text or the download files
themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be foundhere