次のような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 を使用して Product 要素のリストを取得できます。
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 ノードの子の数によって異なります。ただし、私の場合、番号は同じになります。したがって、上記の例に戻ると、2 つの匿名オブジェクトが得られます。
Anonymous1 Anonymous2
---------- ----------
name Roses Roses
section Floral Floral
image img1.jpg img2.jpg
thumb img1-thm.jpg img2-thm.jpg