У меня есть следующий xml.Учитывая, UID
, Manufacturer Name
и Image Layout
, я хочу извлечь все возможные размеры, которые существуют в xml.
<Rules>
<UniqueID UID="123413">
<Manufacturer Name="XYZ Company">
<Image Layout="Portrait">
<Size rows="512" cols="512" price="x" />
<Size rows="1024" cols="1024" price="y" />
</Image>
</Manufacturer>
</UniqueID>
</Rules>
Способ, которым я делаю это прямо сейчас:
XElement rules = XElement.Parse(xmlDoc.OuterXml);
var uids = rules.Elements("UniqueID")
.Where(x=> (string)x.Attribute("UID")=="123413")
.ToList();
foreach(var uid in uids)
{
var manufacturers = uid.Elements(("UniqueID")
.Where(x=> (string)x.Attribute("Name")=="XYZ Company")
.ToList();
}
и так далее, пока у меня не будет коллекции возможных размеров.
Поэтому я использую 3 цикла foreach.Есть ли лучший способ добиться этого с помощью, вероятно, одной строки кода, используя LINQ?