我有一个xml文件如下:
<ProductGroup>
<Product id="4601A">
<name>Roses</name>
<section>Floral</section>
<price>46</price>
<PopupImages>
<PopupImage>img1.jpg</PopupImage>
<PopupImage>img2.jpg</PopupImage>
</PopupImages>
<ImageThumbs>
<thumb>img1-thm.jpg</thumb>
<thumb>img2-thm.jpg</thumb>
</ImageThumbs>
</Product>
</ProductGroup>
在生产中,ProductGroup 节点可能包含许多 Product 节点。为此,我有点想构建一个具有以下属性的匿名对象列表:
name
section
image
thumb
我可以使用 XDocument 获取产品元素列表。
Dim doc As XDocument = XDocument.Load("ProductsGroups.xml")
Dim lstProducts = from x In doc Where CType(c.Element("price"), Integer) < 54
从这里我该怎么办?
更新:
让我更好地解释这一点。我不确定我是否正确传达了这一点。
以上面的 xml 示例本身为例。我编写的上述代码返回具有指定“where”条件的所有产品元素。现在,对于每个返回的 XmlElement(产品),我必须创建 n 个匿名对象。数字 n 取决于 PopupImages 和 ImageThumbs 节点有多少子节点。但是,在我的情况下,数字将是相同的。因此回到上面的例子,我会得到两个匿名对象:
Anonymous1 Anonymous2
---------- ----------
name Roses Roses
section Floral Floral
image img1.jpg img2.jpg
thumb img1-thm.jpg img2-thm.jpg