LINQ to XElement

时间:2013-07-11 15:57:48

标签: xml linq linq-to-xml

我想从XElement下面选择所有 xyzitem 。我想知道使用LINQ或Lambda选择所有 xyzitem 的最佳方法。我想打印每个xyzitem的“No”标签的值。任何建议对我都有帮助。

<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>

由于

Kishore K

1 个答案:

答案 0 :(得分: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");