Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create XML attribute in c#

Tags:

c#

xml

I have the following code to write some data in an xml file. It works well but the attributes. I can not create attributes and its value for an element.

//.xml file===========================
<?xml version="1.0" encoding="utf-8"?>
<Errors>
   <Error Name="abc" ContactNo="123">
     <Description>Test</Description>
  </Error>
</Errors>

// c# code ===========================
XmlDocument xmlErrors = new XmlDocument();
xmlErrors.Load(Path.Combine(Application.StartupPath, "Errors.xml"));
XmlElement subRoot = xmlErrors.CreateElement("Error");
// subRoot.Attributes[0].Value = "Test 1";
// subRoot.Attributes[1].Value = "Test 2";
XmlElement Description = xmlErrors.CreateElement("Description");
Description.InnerText = currentData.ExamineeName;
subRoot.AppendChild(Description);
xmlErrors.DocumentElement.AppendChild(subRoot);
xmlErrors.Save(Path.Combine(Application.StartupPath, "Errors.xml"));

Would you please help me how to create an attribute and its value? Thanks.

like image 238
s.k.paul Avatar asked Dec 12 '22 11:12

s.k.paul


2 Answers

XmlElement error = Errors.CreateElement("Error");
XmlAttribute errName= Errors.CreateAttribute("Name");
errName.value="abc"
error.Attributes.Append(errName);
like image 56
mhs Avatar answered Dec 21 '22 06:12

mhs


Use SetAttributeValue on a XElement object:

subRoot.SetAttributeValue("Name","Test 1");
subRoot.SetAttributeValue("ContactNo","Test 1");
like image 37
Alireza Avatar answered Dec 21 '22 08:12

Alireza