2013-07-11 5 views
1

Я хочу выбрать все xyzitem снизу XElement. Я хочу знать лучший способ выбрать все xyzitem с помощью LINQ или Lambda. Я хочу напечатать значение тега «Нет» каждого xyzitem. Любое предложение будет полезно для меня.LINQ to XElement

<Soap:Body xmlns:Soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<UpdateMultiple_Result xmlns="urn:microsoft-dynamics-schemas/page/xyzitem"> 
    <xyzitem_List> 
     <xyzitem>    
      <No>N2610</No> 
      <Description>productDescription</Description>    
     </xyzitem> 
     <xyzitem>    
      <No>BB8100</No> 
      <Description>productDescription</Description>    
     </xyzitem> 
     <xyzitem>    
      <No>SW810I</No> 
      <Description>productDescription</Description>    
     </xyzitem> 
     <xyzitem>    
      <No>8525PDA</No> 
      <Description>productDescription</Description>    
     </xyzitem> 
     <xyzitem>    
      <No>MM-A900M</No>    
     </xyzitem> 
     <xyzitem>    
      <No>MA464LL/A</No> 
      <Description>productDescription</Description>    
     </xyzitem> 
     <xyzitem>    
      <No>LX.FR206.001</No> 
      <Description>productDescription</Description>    
     </xyzitem> 
     <xyzitem>    
      <No>VGN-TXN27N/B</No> 
      <Description>productDescription</Description>    
     </xyzitem> 
     <xyzitem>    
      <No>M285-E</No> 
      <Description>productDescription</Description>    
     </xyzitem> 
     <xyzitem>    
      <No>CN_3</No> 
      <Description>productDescription</Description>    
     </xyzitem> 
    </xyzitem_List> 
</UpdateMultiple_Result> 
</Soap:Body> 

Благодаря

Кишор K

ответ

1

Вы объявили имена, так что вы должны использовать его, чтобы предоставить имена элементов:

XDocument xdoc = XDocument.Parse(xml); 
XNamespace ns = "urn:microsoft-dynamics-schemas/page/xyzitem"; 
var numbers = from i in xdoc.Descendants(ns + "xyzitem") 
       select (string)i.Element(ns + "No"); 
+1

Thanks.your решения решить мою проблему. – kishorebarik