البته باید ابتدا ساختار فایل XML شما رو دید.
من دمویی واست تهیه کردم تا با روند کار آشنا بشی. برای کار با XML از LINQ استفاده کن.
اگر فایل XML ات ساختار ذیل رو داشته باشه:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<child>
<field1 id="1">child 1 - field 1</field1>
<field2 id ="2">child 1 - field 2</field2>
</child>
<child>
<field1 id="3">child 2 - field 3</field1>
<field2 id ="4">child 2 - field 4</field2>
</child>
</root>
به شکل ذیل می تونی به مقدار هر کدوم از تگ های field با تعیین id اون دسترسی داشته باشی:
StringBuilder sb = new StringBuilder(Server.MapPath(".")).Append(@"\XMLFi le.xml");
XElement document = XElement.Load(sb.ToString());
sb.Length = 0;
XElement child = (from field in document.Elements("child").Elements()
select field).FirstOrDefault(s => s.Attribute("id").Value.Equals("3"));
Response.Write(child != null ? child.Value : "Not Found!");
و برای تغییر مقدار تگ:
StringBuilder sb = new StringBuilder(Server.MapPath(".")).Append(@"\XMLFi le.xml");
string path = sb.ToString();
sb.Length = 0;
XElement document = XElement.Load(path);
XElement child = (from field in document.Elements("child").Elements()
select field).FirstOrDefault(s => s.Attribute("id").Value.Equals("3"));
if (child != null)
{
child.SetValue("Salam Azizam!");
document.Save(path);
Response.Write("Done...!");
}
موفق باشید.