次の XML があります。
<!--Gaffer Tape Regions-->
<masks>
<mask name="Serato">
<rectangle>
<xPosition>100</xPosition>
<yPosition>100</yPosition>
<height>100</height>
<width>100</width>
</rectangle>
<rectangle>
<xPosition>500</xPosition>
<yPosition>500</yPosition>
<height>100</height>
<width>100</width>
</rectangle>
</mask>
<mask name="Traktor">
<rectangle>
<xPosition>180</xPosition>
<yPosition>70</yPosition>
<height>200</height>
<width>300</width>
</rectangle>
<rectangle>
<xPosition>500</xPosition>
<yPosition>500</yPosition>
<height>50</height>
<width>160</width>
</rectangle>
</mask>
</masks>
そして、「Serato」という名前のマスク要素の下にあるすべての四角形要素を取得したいと思います。
Linq to XML でこれを行う最善の方法は何ですか?
編集:動作しないコードを追加
現在これを試しています:
XDocument maskData = XDocument.Load(folderPath + @"\masks.xml");
var masks =
from ma in maskData.Elements("mask")
where ma.Attribute("name").Value == "Serato"
from rectangle in ma.Elements("rectangle")
select rectangle;
しかし、マスク クエリは null を返します。