私は複雑なXMLファイルを持っており、さまざまなレベルで、次の部分が存在することがあります。このlinqクエリが最初の属性のみを返すのはなぜですか?
<ChrNote>
<note>The appropriate character is:</note>
</ChrNote>
<ChrDef>
<extension char="A">initial</extension>
<extension char="D">subsequent</extension>
<extension char="G">subsequent delayed</extension>
<extension char="S">sequel </extension>
</ChrDef>
...
を、ここで私は、テキストファイルの構築に使用するコードスニペットです:
var lv1s = from lv1 in XMLDoc.Descendants("chapter").DescendantsAndSelf()
select new
{
SChar = (string)lv1.Element("ChrNote") ?? "",
SCharDef = (string)lv1.Element("ChrDef") ?? "",
//Returns only first attribute ..?
CharLetter = (lv1.Element("ChrDef") == null ? "" :
(string)(lv1.Element("ChrDef")
.Element("extension")
.Attribute("char")) ?? "")
};
問題が上記のクエリは、要素 "extension"から最初の属性( "A")のみを返します。です。私はlinqの経験はありませんし、どんな助けも高く評価されます。
はい、完璧に動作します!ありがとう... – Nikolas
偉大な、私の喜び:)答えとしてマークしてください。 – trydis