2014-05-05 10 views
1

我有一個XML文件中定義如下:收集屬性的所有值存在於應答器到一個

<test> 
    <years year ="2001"> 
    </test> 
    <test> 
    <years year ="2002"> 
    </test> 
    <test> 
    <years year ="20013"> 
    </test> 

如何獲得在一個XML文件中存在的所有屬性,並把它添加到它?類似的東西:

<test> 
    <years>2001,2002,2003</years> 
    </test> 
    <test> 
    <years year ="2001"> 
    </test> 
    <test> 
    <years year ="2002"> 
    </test> 
    <test> 
    <years year ="2003"> 
    </test> 

提前

回答

1

非常感謝請注意,您的XML示例是無效的。您已經添加根元素和關閉years

檢查了這一點:

輸入XML文件:

<root> 
    <test> 
    <years year="2001" /> 
    </test> 
    <test> 
    <years year="2002" /> 
    </test> 
    <test> 
    <years year="20013" /> 
    </test> 
</root> 

代碼:

[Fact] 
public void Test() 
{ 
    XElement root = XElement.Load("data.xml"); 
    var years = string.Join(",", root.Descendants("years").Select(x => x.Attribute("year").Value)); 
    root.Add(new XElement("test", new XElement("years", years))); 
    root.Save("data.xml"); 
} 

結果文件:

<?xml version="1.0" encoding="utf-8"?> 
<root> 
    <test> 
    <years year="2001" /> 
    </test> 
    <test> 
    <years year="2002" /> 
    </test> 
    <test> 
    <years year="20013" /> 
    </test> 
    <test> 
    <years>2001,2002,20013</years> 
    </test> 
</root> 
相關問題