※ ChatGPTを利用し、要約された質問です(原文:LINQ to XMLで同じ属性値の読込みについて)
LINQ to XMLで同じ属性値の読込みについて
このQ&Aのポイント
LINQ to XMLを使用してXMLファイルから同じ属性値を読み込む方法についての質問です。
質問者はLINQ to XMLを使用して、XMLファイルから属性値が「shikaku」である要素の文字列を取得しようとしていますが、うまく取得できないという問題が発生しています。
また、すべての文字列を取得する方法についても知りたいとのことです。
LINQ to XMLで同じ属性値の読込みについて
下記の様なXMLファイルがあるとします。
又、言語はC#を使用しています。
<?xml version="1.0" encoding="utf-8"?>
<staff_list>
<staff id="00001">
<value type="name">ああ</value>
<value type="kana">いい</value>
<value type="address">鳥取</value>
<value type="phone">090-1111-2222</value>
<value type="shikaku">応用</value>
<value type="shikaku">基本</value>
<value type="shikaku">オラクル</value>
<value type="shikaku">高度</value>
</staff>
<staff id="00002">
<value type="name">ええ</value>
<value type="kana">おお</value>
<value type="address">大分</value>
<value type="phone">090-1111-2222</value>
<value type="shikaku">応用</value>
<value type="shikaku">基本</value>
</staff>
<./staff_list>
下記ソースの様にLINQ to XMLで"shikaku"の部分の文字列を取得しようと考えているのですが
var shikakus = (from v in xConnectionString.Elements("value") where v.Attribute("type").Value == "shikaku" select v);
foreach (var shikaku in shikakus)
{
MessageBox.Show((string)shikaku.Element("shikaku"));
}
空白が表示され上手く取得出来ません。
どの様に取得したらよろしいのでしょうか。
っというか、すべての文字列を取得する方法も教えて頂くと有り難いです。