我的xml文件有这样的东西:
那么如何递归获取属性的所有值并将它们添加到或.也许是一个foreach循环?
...
<Keyword name = "if" />
<Keyword name = "else" />
<Keyword name = "is" />
...nameList<string>string[]
我跟着codemeit,我不断收到错误:Data at the root level is invalid. Line 1, position 1.我的xml文件是
<KeyWords>
...
<KeyWord name = "if" />
...
</KeyWord>
新问题,The '\' character, hexadecimal value 0x5C, cannot be included in a name.但相同的文件.
假设变量testXml等于跟随xml字符串
<Keywords>
<Keyword name = "if" />
<Keyword name = "else" />
<Keyword name = "is" />
</Keywords>
Run Code Online (Sandbox Code Playgroud)
使用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();
Run Code Online (Sandbox Code Playgroud)
myArray将包含{"if","else","is"}
UPDATE
感谢@SLaks评论,我们实际上可以做到
var myArray = myXml.Elements("Keyword").Attributes("name").Select(n => n.Value);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1253 次 |
| 最近记录: |