今天我陷入了基于同一对象的其他属性值的对象属性值选择。以下是我的类结构,我使用Serializer从XML将类转换为对象,我想选择" Mainsnow"列表基于"名称"的值在" City"类。
[XmlRoot(ElementName = "Mainsnow")]
public class Mainsnow
{
[XmlElement(ElementName = "MainsnowCode")]
public string MainsnowCode { get; set; }
}
[XmlRoot(ElementName = "City")]
public class City
{
[XmlElement(ElementName = "Mainsnow")]
public List<Mainsnow> Mainsnow { get; set; }
[XmlAttribute(AttributeName = "name")]
public string Name { get; set; }
}
[XmlRoot(ElementName = "Mainsnows")]
public class Mainsnows
{
[XmlElement(ElementName = "City")]
public City City { get; set; }
}
[XmlRoot(ElementName = "MainsnowData")]
public class MainsnowData
{
[XmlElement(ElementName = "Mainsnows")]
public Mainsnows Mainsnows { get; set; }
}
我已经尝试了各种各样的期望如下,但没有什么对我有用,任何伙伴都可以帮忙。
MainsnowData.Mainsnows.City.Name.Select(t => t.ToString() == "test")
在上述方面,我想访问&#34; Mainsnow&#34;相关的&#34;名称&#34; &#34;城市&#34;类。
由于
答案 0 :(得分:0)
此处的假设是您尝试从数据源加载的MainsnowData
集合中获取数据
List<MainsnowData> items = LoadDataFromXml();
然后你会Linq投射出所需的输出
Mainsnow[] mainsnows = items.Where(m => m.Mainsnows.City.Name == "test")
.SelectMany(m => m.Mainsnows.City.Mainsnow)
.ToArray();