2

LINQ を使用して XML ドキュメントを作成するときに、XElement をいくつかの属性を持つルート要素に追加し、LINQ を使用してそのドキュメントの XElement を読み取ると、XAttributes.Value の戻り値は既定で文字列になります。
この値を bool 型の変数に代入するには、関数「Convert.ToBoolean()」を呼び出す必要があります。

  XDocument Xd = new XDocument(new XElement("Numbers"));
  Xd.Root.Add(new XElement("13", new XAttribute("Name", "13")
                               , new XAttribute("IsEvenNumber", false)
                               , new XAttribute("HowManyDevidersItHas", 2)));
  Xd.Save(@"C:\XDocument.xml");
  bool b1 = Convert.ToBoolean(XD1.Root.Element("13").Attribute("IsEvenNumber").Value);
  ...

ご覧のとおり
、"Name" と呼ばれる XAttribute の値は long 型でなければなりません!
「IsEvenNumber」と呼ばれる XAttribute の値は bool 型でなければなりません!

知っておく必要があります:「 Convert.ToBoolean()」関数を呼び出さずに、いくつかの XAttributes を使用して XElement を作成し、それを保存して再度読み取り、その XAttributes.Value をブール型変数に割り当てることは可能ですか?!

4

1 に答える 1