2009-04-21 3 views
1

мне нужно найти ShippingMethod и атрибут Code и Destination из следующей части XML:Как получить данные с Linq в XML?

<ScoreRule> 
    <ShippingMethod Code="UPS1DA"> 
     <Destination Country="US" Area="IL" Value="0" /> 
    </ShippingMethod> 
</ScoreRule> 

Как получить эти данные с Linq для XML?

+0

Вы просто ищете синтаксис? У вас был конкретный вопрос об осуществлении? Был ли у вас язык, на котором вы хотели увидеть реализацию? Вы не знаете, с чего начать? –

ответ

2

Здесь вы найдете ссылку на выражение запроса XML.

Я не знал, как вы загружали исходные данные, поэтому я просто проанализировал его в документе, но вы должны создать свой XDocument в соответствии с тем, как вы получаете свои данные.

var data = XDocument.Parse("<ScoreRule><ShippingMethod Code=\"UPS1DA\"><Destination Country=\"US\" Area=\"IL\" Value=\"0\" /></ShippingMethod></ScoreRule>"); 

      var results = from item in data.Descendants("ShippingMethod") 
          select new 
           { 
            ShippingMethodCode = item.Attribute("Code").Value, 
            Country = item.Element("Destination").Attribute("Country").Value, 
            Area = item.Element("Destination").Attribute("Area").Value 
           }; 
3

Это то, что вы хотите?

XElement scoreRuleElement = XElement.Parse("<ScoreRule><ShippingMethod Code=\"UPS1DA\"><Destination Country=\"US\" Area=\"IL\" Value=\"0\" /></ShippingMethod></ScoreRule>"); 

XElement shippingMethodElement = scoreRuleElement.Element("ShippingMethod"); 
string code = shippingMethodElement.Attribute("Code").Value; 
XElement destinationElement = shippingMethodElement.Element("Destination"); 
+0

Если вы не уверены, что атрибут «Код» всегда будет иметь значение в 2 шага. string code = string.Empty; XAttribute codeAttribute = shippingMethodElement.Attribute ("Код"); если (кодAttribute! = Null) { code = codeAttribute.Value; } – Erin

Смежные вопросы