在dynamic
List<XElement>
我希望获取包含特定attValue
的所有值。
要做到这一点,我正在使用它:
return new DynamicXml(from item in _elements
where item.Attribute("attName").Value.Contains("attValue")
select item);
并且要获取具有多个属性值的属性,我可以使用以下内容:
return new DynamicXml(from item in _elements
where item.Attribute("attName").Value.Contains("attValue") ||
item.Attribute("attName").Value.Contains("attValue2")
select item);
所有以前的代码都能正常工作,现在我正在尝试在第二个代码块中完成确切的事情,但是我需要传递一个包含属性值的列表,而不是添加静态条件来获取值,但它返回错误的数据。 我试着这样做:
无论属性值是什么,都会返回所有值。
return new DynamicXml(from item in _elements
where attValues.Any(v => v.Contains(item.Value))
select item);
这不会返回任何内容:
return new DynamicXml(from item in _elements
where attValues.Contains(item.Value)
select item);
注意: attValues是List
修改
_ elements
包含以下属性:
<property name="id" xpath="//Atom:entry/Atom:id" disAtt="" mediaType="txt,pix" isSingleSelection="true" />
attValues
包含mediaTypes
:
"txt"
或"vid"
等
我需要获得properties
类mediaType
或txt
vid
的所有dynObject[0].property.mediaType.Value;
注意:我可以像这样获取mediaType:
{{1}}
答案 0 :(得分:1)
向后看,在第一个示例中,您需要一个特定属性,其值包含一个列表,在第二个示例中,您将显示代码,以获取其值包含在您的列表中的任何属性。
假设attValues是要搜索的值列表
return new DynamicXml(from item in _elements
where attValues.Any(v => item.Attribute("attName").Value.Contains(v))
select item);