与XPath: How to match attributes that contain a certain string类似但不使用XPath。可能吗?
<c BarFoo="val1">
<d Foo="val2" someAttribute="">
<e FooBar="val3" />
</d>
</c>
基本上我想在文档中选择其属性名称包含“Foo”的所有属性值,因此它应该返回“BarFoo”,“FooBar”,“Foo”(va1,val2,val3)的值< / p>
答案 0 :(得分:1)
像这样:
elem.DescendantsAndSelf().Attributes().Where(a => a.Name.LocalName.Contains("Foo"))
答案 1 :(得分:0)
我的出发点是将XML字符串解析为XElement对象。
var query = element.DescendantsAndSelf().Attributes()
.Where(attr => attr.Name.LocalName.Contains("Foo"))
.Select(attr => new { Name = attr.Name, Value = attr.Value });
结果是包含每个属性名称和值的匿名类型的IEnumerable。
BarFoo val1
Foo val2
FooBar val3