Я запрашиваю XML, используя LINQ TO XML. Я хочу запросить записи на основе некоторой условной проверки, вот мой XML ниже: XML будет иметь несколько ордеров, каждый заказ будет в я хочу, чтобы выбрать порядок, который имеет значение хранилища атрибутов элемента param, не является нулевым, а если существует должно быть 1, а также порядок с информацией картонной ...Выбрать элементы на основе условия LINQ TO XML C#
<orders>
<order>
<criteria>
<param name="location">123</param>
<param name="name">Chicago</param>
<param name="Store">1</param>
<param name="Account Number">1212121212</param>
</criteria>
<items>
<item> </item>
<item> </item>
</items>
<cartons>
<carton>
<size> </size>
<weight></weight>
</carton>
</cartons>
</order>
<Order>
</Order>
</orders>
Я могу сделать до этого:
var result = from item in doc.Descendants("order")
where item.Element("criteria").Element("param").Attribute("name").Value.Contains("store") == true
&& item.Element("cartons") != null
select item;"
Над отлично работает, если мой магазин (пары) атрибут первый в узле фильтра, но если я перееду в магазине (парам) в другое положение, чем сначала, он не отфильтровывает его
Хорошо, что все звучит разумно - что вы пробовали до сих пор? Вы посмотрели на метод 'XElement.Attribute' и' XElement.Element'? Например: «... Где (x => x.Element (« критерии »). Элементы (« param »). Любой (p => (строка) p.Attribute (« name ») ==« Сохранить »&& (int) p.Value == 1)) ' –
Хорошо, у меня есть этот« var result = from item in doc.Descendants («order») где item.Element («критерии»). Элемент («param») .Attribute ("name"). Value.Contains ("store") == true && item.Element ("cartons")! = Null select item; " – msbyuva
Пожалуйста, поместите это в * вопрос *, и объясните, в чем разница между тем, что он делает в данный момент, и тем, что вы хотите сделать. –