我肯定这是个简单的问题,但我想不通。我正在将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" />我所要做的就是把整个文档中的“damage”的所有值(不管它们落在哪里)都放到一个数组中。我一直在玩xmldocument/xmlnodelist,但我就是不知道如何让它工作。我有点想用regex做,但那感觉很脏。 最佳答案 使用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();请注意:此代码相对简单,因为它考虑了整个文档中的所有XDocument节点。关于c# - 通过搜索“名称”来检索元素“值”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10143530/ 10-13 03:23