我很肯定这是一个简单的问题,但我无法弄清楚.
我正在将一个XML文件下载到C#中的字符串,它包含以下格式的项目:
<attribute name="Make" value="Volvo" />
<attribute name="Color" value="Blue" />
<attribute name="Damage" value="Rear scratched" />
<attribute name="Damage" value="Left hand side dented" />
Run Code Online (Sandbox Code Playgroud)
而我想要做的就是将整个文档中的"Damage"的所有值(无论它们落在何处)都放入一个数组中.我一直在玩XmlDocument/XmlNodeList,但我无法弄清楚如何使这个工作.
我很想用RegEx来做这件事,但感觉非常非常脏.
用途XDocument:
var doc = XDocument.Parse(xml);
var result = doc.Descendants("attribute")
.Where(x => x.Attribute("name") != null &&
x.Attribute("value") != null)
.Where(x => x.Attribute("name").Value == "Damage")
.Select(x => x.Attribute("value").Value)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
请注意:
此代码相对简单,因为它考虑attribute了整个文档中的所有节点.
| 归档时间: |
|
| 查看次数: |
311 次 |
| 最近记录: |