ファイル操作

[C#] xmlファイルを読み込む

xmlファイルを読み込むサンプルです。

サンプル

例として以下のxmlを読み込んでみます。

(D:¥zaiko.xml)

<?xml version="1.0" encoding="utf-8" ?>
<zaiko>
  <syohin>
    <name>みかん</name>
    <quantity>1200</quantity>
  </syohin>
  <syohin>
    <name>りんご</name>
    <quantity>850</quantity>
  </syohin>
  <syohin>
    <name>ぶどう</name>
    <quantity>30</quantity>
  </syohin>
</zaiko>

例)xmlファイルを読み込む


using System;
using System.Collections.Generic;
using System.Xml.Linq;

//XMLファイル名
string fileName = @"D:¥zaiko.xml";

//XDocumentオブジェクトを生成
XDocument xd = XDocument.Load(fileName);

//要素「zaiko」を読み込む
XElement zaiko = xd.Element("zaiko");

//要素「zaiko」から要素「syohin」を読み込みループ処理する
IEnumerable syohin = zaiko.Elements("syohin");
foreach (XElement e in syohin)
{
  string name = e.Element("name").Value;          //要素「name」の値
  string quantity = e.Element("quantity").Value;  //要素「quantity」の値

  Console.WriteLine(name);
  Console.WriteLine(quantity);
}

結果

みかん
1200
りんご
850
ぶどう
30

備考

  • xmlを作成するには、System.Xml.Linq.XDocumentを使用すると簡単にXMLファイルを読み込みできます。
  • 指定したファイルのxmlが壊れている場合は、System.Xml.XmlExceptionが発生します。
  • .Element(<要素名>) で要素名が存在しない場合はnullが返りますので、
    要素名が存在しない可能性がある時はnull判定を入れたほうが安全です。

関連記事

-ファイル操作
-