私が構築しているアプリケーションの一部は、XMLドキュメントからrobots.txtファイルを生成する必要があります。親ノードがLINQ to XMLの特定の値と等しい場合に子ノードを選択する方法
私はそうのようなXMLを持っている:
<root>
<Robots>
<UserAgents>
<UserAgent>*</UserAgent>
<Disallow>
<Item>/wibble/</Item>
<Item>/wobble/</Item>
</Disallow>
</UserAgents>
<UserAgents>
<UserAgent>Google</UserAgent>
<Disallow>
<Item>/</Item>
</Disallow>
</UserAgents>
</Robots>
</root>
にはどうすればいいのUserAgent = "*" "アイテム" を選択することができますか?
つまり、親ノードが特定の値と等しい場合にのみ子ノードを選択します。親ノードの値は一意になります。
私はASP.netでC#を使用しています。二from
はちょうどそれが配列の配列ではないので、結果を平坦化するために使用されていることを
var query = from agent in doc.Descendants("UserAgent")
where (string) agent == "*"
from item in agent.Parent.Elements("Disallow").Elements("Item")
select item;
注: