3.2.1 XMLとCSVによるアクセスの比較

 $ {\bf XML}$ のデータ例を示す.$ {\bf XML}$ は,タグの名前を自由に付けられるので,データそのものに,意味を持たせることができる.
<?xml version = "1.0" ?>
<description>This is Students-Point Information.</description> 
<student>
 <familyname>Osaka</familyname>
 <firstname>Taro</firstname>
 <major>particle-physics</major>
 <points>
  <linear_algebra>100</linear_algebra>
  <theory_of_relativity>95</theory_of_relativity>
  <mechanics>75</machanics>
 </points>
</student>
<student>
 <familyname>Neyagawa</familyname>
 <firstname>Hanako</firstname>
 <major>plasma-physics</major>
 <points>
  <linear_algebra>95</linear_algebra>
  <solid_state_physics>60</solid_state_physics>
 </points>
</student>
 以下に,上記データより分かることを記述する.

 この例では,学生の試験の得点情報を示しており,現在2人の学生が登録されている.学生の名前はOsaka Taro,及びNeyagawa Hanakoである.Taroは,素粒子実験物理学を専攻しており,Hanakoはプラズマ物理学を専攻している.

 また,Taroは線形代数学(100点),相対性理論(95点),力学(75点)である.一方Hanakoは,線形代数学(95点),物性理論(60点)である.

 上記データを$ {\bf CSV}$ で記述した例を示す.

#This is Students-Point Information.
#familyname,firstname,major,linear_algebra,theory_of_relativity,machanics,solid_state_physics
Osaka,Taro,particle-physics,100,95,75,0
Neyagawa,Hanako,plasma-physics,95,0,0,60

 $ {\bf CSV}$ で実装する場合,行頭が#で始まる行は,一般的にデータとして無視するように設計することが多い.そこで本例では,データの内容を説明するために用いた.当然この処理はプログラム内で実装する必要がある.$ {\bf XML}$ ファイルと,$ {\bf CSV}$ ファイルを比較した場合,上記のように,圧倒的に$ {\bf CSV}$ ファイルの方が少ないデータ量で表現することができる. データ量が少ないということは,アクセスに必要な時間が少なくてすむので,結果として処理を行うために要請される時間も短縮されることになる.

MURAYAMA Yoshiyuki
平成19年7月8日