Read the xml file.
This function is use for delete xml node dynamically.
/// <summary>
///
/// </summary>
/// <param name="path">xml file path</param>
/// <param name="tagname">root tagname</param>
/// <param name="searchconditionAttributename">Search Attribute Name</param>
/// <param name="searchconditionAttributevalue">Search Attribute Value</param>
private static void DeleteXmlNode(string path, string tagname, string searchconditionAttributename, string searchconditionAttributevalue)
{
XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlNodeList nodes = doc.GetElementsByTagName(tagname);\
//XmlNodeList nodes = doc.GetElementsByTagName("user");
foreach (XmlNode node in nodes)
{
foreach (XmlAttribute attribute in node.Attributes)
{
if ((attribute.Name == searchconditionAttributename) && (attribute.Value == searchconditionAttributevalue))
//if ((attribute.Name == "name") && (attribute.Value == "aaa"))
{
//delete.
node.RemoveAll();
break;
}
}
}
//save xml file.
doc.Save(path);
}
This function is use for edit node in xml.
/// <summary>
///
/// </summary>
/// <param name="path">xml file path</param>
/// <param name="tagname">root tagname</param>
/// <param name="searchconditionAttributename">Search Attribute Name</param>
/// <param name="searchconditionAttributevalue">Search Attribute Value</param>
/// <param name="editAttributename">Edit Attribute Name</param>
/// <param name="editAttributevalue">Edit Attribute Value</param>
private static void EditXmlNode(string path, string tagname, string searchconditionAttributename, string searchconditionAttributevalue, string editAttributename, string editAttributevalue)
{
XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlNodeList nodes = doc.GetElementsByTagName(tagname);
// XmlNodeList nodes = doc.GetElementsByTagName("user");
foreach (XmlNode node in nodes)
{
bool newnode = true;
//Check attribute eixt which we want to edit.
bool isEdit = false;
foreach (XmlAttribute attribute in node.Attributes)
{
//if ((attribute.Name == "name") && (attribute.Value == "ddd"))
if ((attribute.Name == searchconditionAttributename) && (attribute.Value == searchconditionAttributevalue))
{
isEdit = true;
}
if (isEdit)
{
// if (attribute.Name == "expireson")
if (attribute.Name == editAttributename)
{
//attribute.Value = "2011-12-28";
attribute.Value = editAttributevalue;
break;
}
}
}
newnode = false;
}
//save xml file.
doc.Save(path);
}
I use following .xml file
="1.0"="utf-8"
<users>
<user />
<user name='aaa' password='111' status='0' expireson='2012-12-31' createdon='2011-05-31' />
<user name='bbb' password='222' status='0' expireson='2012-12-31' createdon='2011-05-31'/>
<user name='ccc' password='333' status='0' expireson='2011-12-31' createdon='2011-05-31'/>
<user name='ddd' password='444' status='0' expireson='2011-12-31' createdon='2011-05-31'/>
</users>