LINQ XML子查询 - 需要帮助

时间:2012-10-22 02:11:38

标签: c# xml linq

我当前的LINQ查询和示例XML如下所示。我想做的是从其他属性中选择主要图像网址,例如修剪,正文,品牌,模型等。

这样做的最佳方式是什么?

<response>
<objects>
    <object>
        <trim>LT</trim>
        <body>4dr Car</body>
        <warranty_miles />
        <color>WHITE</color>
        <selling_price>0.00</selling_price>
        <vin>1g1jc5sh3c4198042</vin>
        <has_service_contract >False</has_service_contract>
        <year>2012</year>
        <alt_id></alt_id>
        <stock_num>1205362</stock_num>
        <has_warranty>False</has_warranty>
        <warranty_month />
        <make>CHEVROLET</make>
        <date_manufactured />
        <interior_color>Dark Pewter/Dark Titanium</interior_color>
        <date_updated>2012-10-17</date_updated>
        <date_dealer_created>2012-06-06</date_dealer_created>
        <certification_warranty />
        <status/>
        <vevo></vevo>
        <image_urls>
            <object>
                <url>http://content.homenetiol.com/1593/69025/640x480/1764e186eabe4ae892f6230107b862cf.jpg</url>
                <resource_uri></resource_uri>
            </object>
            <object>
                <url>http://content.homenetiol.com/1593/69025/640x480/3eeb7050770849e8937191d09453d936.jpg</url>
                <resource_uri></resource_uri>
            </object>
            <object>
                <url>http://content.homenetiol.com/1593/69025/640x480/7f6c1f172f7b4944ac2d165c0dfbcb09.jpg</url>
                <resource_uri></resource_uri>
            </object>
            <object>
                <url>http://content.homenetiol.com/1593/69025/640x480/82d242ba07bb4bb9a7c8514ea1aadae7.jpg</url>
                <resource_uri></resource_uri>
            </object>
            <object>
                <url>http://content.homenetiol.com/1593/69025/640x480/93e3cac89d0f4872b86acd9c2d94695a.jpg</url>
                <resource_uri></resource_uri>
            </object>
            <object>
                <url>http://content.homenetiol.com/1593/69025/640x480/edec4ffe9b2349ffabea9dcb25a78d1e.jpg</url>
                <resource_uri></resource_uri>
            </object>
            <object>
                <url>http://content.homenetiol.com/1593/69025/640x480/f2c1dbb15fec4cf6a62b7842db22763a.jpg</url>
                <resource_uri></resource_uri>
            </object>
            <object>
                <url>http://content.homenetiol.com/1593/69025/640x480/fa7341e250654533a9de2a756d4274eb.jpg</url>
                <resource_uri></resource_uri>
            </object>
          </image_urls>
       </object>
   </objects>
 </response>

这是我到目前为止所拥有的

        var users = from m in main2.Elements("object")
                    select new Inventory 
                    {
                        Make = (string)m.Element("make"),
                        Year = (string)m.Element("year"),
                        Model = (string)m.Element("model"),
                    };

1 个答案:

答案 0 :(得分:1)

您希望将image_urls节点下的对象集合投影到列表中。

这会将其投影到字符串列表中。

select new Inventory
{
    Make = (string)m.Element("make"),
    Year = (string)m.Element("year"),
    Model = (string)m.Element("model"),
    Urls = m.Element("image_urls").Elements().Select(e => (string)e.Element("url"))
};