2013-10-10 85 views
1

我有一個XML文件,如下所示重複節點的信息:充分利用C#中的XML文件

<Root> 
    <Folder1> 
    <file>AAA</file> 
    <file>BBB</file> 
    <file>CCC</file> 
    </Folder1> 
    <Folder2> 
    <file>AAA</file> 
    <file>BBB</file> 
    <file>CCC</file> 
    </Folder2> 
</Root> 

我需要所有的家長串名單, 我嘗試使用

using (XmlTextReader reader = new XmlTextReader(pathFiles))    
{      
    reader.ReadToFollowing("file"); 
    string files = reader.ReadElementContentAsString(); 
} 

因此,「文件」變量只包含「AAA」,

reader.ReadElementContentAsString()不接受列表。

有沒有什麼方法來提取輸出{「AAA」,」BBB」,」CCC」, AAA」,」BBB」,」CCC」}

回答

4
XDocument doc=XDocument.Load(xmlPath); 
List<string> values=doc.Descendants("file") 
         .Select(x=>x.Value) 
         .ToList(); 
+2

我的回答工作,但你的是簡單的+1 –

2

試試這個

XDocument xdoc = XDocument.Parse(xml); 
var filesArray = xdoc.Elements() 
    .First() 
    .Descendants() 
    .Where(x => x.Name == "file") 
    .Select(x => x.Value) 
    .ToArray();