获取xml属性值为string

我的xml文件有这样的东西:
...

...
那么我如何递归获取name属性的所有值并将它们添加到Liststring[] 。 也许是一个foreach循环?


我遵循codemeit并且我一直收到错误: Data at the root level is invalid. Line 1, position 1. Data at the root level is invalid. Line 1, position 1.我的xml文件是

...

...


新问题The '\' character, hexadecimal value 0x5C, cannot be included in a name. 但是同一个文件。

假设变量testXml等于跟随xml字符串

      

使用XElement和LINQ提取名称属性值

 var myXml = XElement.Parse(testXml ); var myArray = myXml.Elements().Where(n => n.Name.LocalName.Equals("Keyword")) .Select(n => n.Attribute("name").Value) .ToArray(); 

myArray将包含{“if”,“else”,“is”}

UPDATE

感谢@SLaks评论,我们实际上可以做到

 var myArray = myXml.Elements("Keyword").Attributes("name").Select(n => n.Value); 

您可以使用XmlNodeList类。 您需要传递适当的XPATH来获取值并遍历列表。