5

我有以下代码在 xml 文件中写入一些数据。它运作良好,但属性。我无法为元素创建属性及其值。

//.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"));

你能帮我如何创建一个属性及其值吗?谢谢。

4

4 回答 4

8
XmlElement error = Errors.CreateElement("Error");
XmlAttribute errName= Errors.CreateAttribute("Name");
errName.value="abc"
error.Attributes.Append(errName);
于 2013-09-25T05:15:22.453 回答
4

使用SetAttributeXElement

subRoot.SetAttribute("Name","Test 1");
subRoot.SetAttribute("ContactNo","Test 1");
于 2013-09-25T05:00:54.847 回答
1

在 LINQ2XML 中

XElement doc=new XElement("Errors",
      new XElement("Error",new XAttribute("Name","abc"),new XAttribute("ContactNo","123")),
      new XElement("Description","Test")
);
doc.Save(path);
于 2013-09-25T05:00:14.147 回答
1

最简单的方法是使用以下代码:

error.SetAttribute("id", "value");
于 2019-12-30T09:12:37.070 回答