2012-05-21 58 views
0

我有這樣如何設置節點的XML文件中的屬性在C#

<?xml version="1.0" encoding="utf-8"?> 
<ArrayOfOffice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
<Offices> 
<Office> 
<OfficeId>5</OfficeId> 
<OfficeName>NewOne1</OfficeName> 
<City>Mehsana1</City> 
<Country>India1</Country> 
</Office> 
<Office> 
<OfficeId>8</OfficeId> 
<OfficeName>NewOne</OfficeName> 
<City>Mehsna1</City> 
<Country>Country</Country> 
</Office> 
<Office> 
<OfficeId>9</OfficeId> 
<OfficeName>Nataraj</OfficeName> 
<City>Mehsana</City> 
<Country>India</Country> 
</Office> 
<Office> 
<OfficeId>10</OfficeId> 
<OfficeName>Nere1</OfficeName> 
<City>Nere1</City> 
<Country>USA1</Country> 
</Office> 
<Office> 
<OfficeId>11</OfficeId> 
<OfficeName>Nataraj</OfficeName> 
<City>Mehsana</City> 
<Country>India</Country> 
</Office> 
<Office> 
<OfficeId>15</OfficeId> 
<OfficeName>Nere1</OfficeName> 
<City>Nere1</City> 
<Country>USA1</Country> 
</Office> 
</Offices> 
</ArrayOfOffice> 

一個XML文件,現在我想在<Offices>標籤添加屬性像<Offices Multi="Y">..........</Offices>

如何設置這個Multi="Y"Offices節點使用C#?我是否必須編輯xml文件並保存回該xml文件?

謝謝。

+0

更具體一點,你想設置哪個元素屬性? –

回答

1

你可以使用一個XDocument加載XML文件時,Multi屬性添加到Offices標籤,並將其保存回:

var doc = XDocument.Load("test.xml"); 
var offices = doc.Element("ArrayOfOffice").Element("Offices"); 
offices.Add(new XAttribute("Multi", "Y")); 
doc.Save("test.xml"); 

或者用XmlDocument,如果你使用的是舊版本比.net 3.5 :

var doc = new XmlDocument(); 
doc.Load("test.xml"); 
var offices = doc.DocumentElement.SelectSingleNode("Offices"); 
var multi = doc.CreateAttribute("Multi"); 
multi.Value = "Y"; 
offices.Attributes.Append(multi); 
doc.Save("test.xml"); 
+0

Thanxs偉大的工作..... –

相關問題