C#

【C#】XMLを読み込む XElementの使い方

XElementを使ったXMLの読み込み方法を記載します。

【検証環境】VisualStudio2019 / .NET Core3.1

XMLを読み込む

ファイルパスは「D:\PG-LIFE\Person.xml」とします。

要素の値を取得する

下記のXMLファイルのように、値が要素内の場合は、Elementメソッドを使用します。

<?xml version="1.0" encoding="utf-8"?>
<Root>
  <Person>
    <Name>永野芽衣</Name>
    <Age>21</Age>
    <BloodType>AB</BloodType>
  </Person>
  <Person>
    <Name>本田翼</Name>
    <Age>28</Age>
    <BloodType>O</BloodType>
  </Person>
  <Person>
    <Name>戸田恵梨香</Name>
    <Age>32</Age>
    <BloodType>AB</BloodType>
  </Person>
</Root>


上記のXMLから、名前・年齢・血液型を取得して画面に表示する場合は、下記のように書きます。

構文

Element(“要素名”).Value

//xmlファイルを読み込む
XElement xml = XElement.Load(@"D:\PG-LIFE\Person.xml");
//Personタグ内の要素を取得する
IEnumerable<XElement> people = xml.Elements("Person");

foreach (var person in people)
{
    var name      = person.Element("Name").Value;
    var age       = person.Element("Age").Value;
    var bloodType = person.Element("BloodType").Value;
    
    Console.WriteLine($"{name} {age}歳 {bloodType}型");

    //永野芽衣 21歳 AB型
    //本田翼 28歳 O型
    //戸田恵梨香 32歳 AB型
}

属性の値を取得する

下記のように属性内に値が格納されている場合は、Attributeメソッドを使用します。

<?xml version="1.0" encoding="utf-8"?>
<Root>
  <Person>
    <Name value="永野芽衣" />
    <Age value="21" />
    <BloodType value="AB" />
  </Person>
  <Person>
    <Name value="本田翼" />
    <Age value="28" />
    <BloodType value="O" />
  </Person>
  <Person>
    <Name value="戸田恵梨香"/>
    <Age value="32"/>
    <BloodType value="AB"/>
  </Person>
</Root>

構文

Element(“要素名”).Attribute(“属性名”).Value

//xmlファイルを読み込む
XElement xml = XElement.Load(@"D:\PG-LIFE\Person.xml");
//Personタグ内の要素を取得する
IEnumerable<XElement> people = xml.Elements("Person");

foreach (var person in people)
{
    //ここでpersonは単一のPersonタグとなる
    //Personタグ内の要素から、値を取得・表示する
    var name      = person.Element("Name").Attribute("value").Value;
    var age       = person.Element("Age").Attribute("value").Value;
    var bloodType = person.Element("BloodType").Attribute("value").Value;
    Console.WriteLine($"{name} {age}歳 {bloodType}型");
}
エンジニアの転職ならこれ!

【第二新卒向け】マイナビジョブ20's

マイナビジョブ20'sは、20代・第二新卒・既卒向けの転職エージェントです。

▼こんな方におすすめ
・はじめて転職しようと思っている
・転職できるだけのスキルが自分にあるか不安
・手厚いサポートを受けたい

【フリーランス向け】 Midworks

Midworksは豊富な案件と「フリーランス」と「正社員」の良いとこ取りをした働き方を実現する手厚い保障が特徴です。

▼こんな方におすすめ
・現在正社員でフリーランスになろうか悩んでいる
・フリーランスとして働いているが、先行きが不安がある  (安定的な案件確保や保障など)
・自分の市場価値を知りたい、見合った案件で参画したい
・今後のキャリアビジョンを踏まえて案件を選びたい