2013-09-25 73 views
1

我有以下代碼在xml文件中寫入一些數據。它運作良好,但屬性。我無法爲元素創建屬性及其值。在c#中創建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
XmlElement error = Errors.CreateElement("Error"); 
XmlAttribute errName= Errors.CreateAttribute("Name"); 
errName.value="abc" 
error.Attributes.Append(errName); 
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); 
2

使用SetAttributeValueXElement

subRoot.SetAttributeValue("Name","Test 1"); 
subRoot.SetAttributeValue("ContactNo","Test 1"); 
+0

沒有方法SetAttributeValue,但的setAttribute。無論如何,謝謝你提供的線索。你值得高興。 –