データフォーマット

1.DOM(Document Object Model)

 HTML や XML 文書を取り扱うための API
   HTML や XML のドキュメントに含まれる
   要素や要素に含まれるテキストのデータをオブジェクトとして扱う

 ドキュメントをオブジェクトが階層的に組み合わされたものとして識別する
   様々なプログラミング言語でオブジェクトを扱うためのAPIを提供している

<body>
<section id="section-1">
    <h2>セクション1</h2>
    <p>子ノード1</p>
    <p>子ノード2</p>
    <p>子ノード3</p>
</section>
<section id="section-2">
    <h2>セクション2</h2>
    <p>子ノード1</p>
    <p>子ノード2</p>
    <p>子ノード3</p>
</section>
</body>
<script>
    // ここにJavaScriptコードを書いていく
    // idやノードを使って操作する
    // ...
</script>

2.JSON (JavaScript Object Notation)

 APIなどでテキストデータを処理する際に用いられる
   JavaScriptにおけるオブジェクトの書き方を参考に作られる

   もともとJavaScriptで使用することを想定して開発される
     しかし、人間とコンピューターの双方にとって可読性が高く、
     データが重くなりづらいという優れた特徴を持つため、
     現在はJavaScriptに限らず多様な言語で用いられている 

[
  {"id" : "1", "name" : "tanaka"},
  {"id" : "2", "name" : "nakata"}
]

3.XML(Extensible Markup Language)

  文章の見た目や構造を記述するためのマークアップ言語
     文字データを「タグ」と呼ばれる特殊な文字列で意味付けし
     文章の構造や修飾情報をコンピュータが理解しやすい形にする

   コンピュータ間のデータのやりとりや管理が簡単になる
     記述形式が理解しやすい(タグは自由に決められる)

<?xml version="1.0" encoding="utf-8"?>
<data>
  <item>
    <id>1</id>
    <name>tanaka</name>
  </item>
  <item>
    <id>2</id>
    <name>nakata</name>
  </item>
</data>

4.SOAP (Simple Object Access Protocol)

 ネットワーク経由でオブジェクト間の通信を行う軽量のプロトコル
   通信内容の記述にXMLを用いる点に特徴がある

   言語やプラットフォームに依存しないプロトコル

   データ構造のみが規定されており、
     転送用プロトコルとして既存の任意の通信プロトコルを使用する

 構造は
   ・エンベロープ・・・エンコーディングの宣言
   ・ヘッダ・・・宛先
   ・ボディ・・・通信内容

<?xml version='1.0' encoding='UTF-8'?>
<env:Envelope
   xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/1999/XMLSchema">
  <env:Header>
    <t:transaction
       xmlns:t="http://api.example.org/transaction"
       env:encodingStyle="http://example.com/encoding"
       env:mustUnderstand="true">5</t:transaction>
  <env:/Header>
  <env:Body>
    <m:exampleMethod
       xmlns:m="http://api.example.org/"
       env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <name xsi:type="xsd:string">Taro Yamada</name>
      <id xsi:type="xsd:int">3232</id>
    </m:exampleMethod>
  </env:Body>
</env:Envelope>

5.CSV

 カンマ(,)でデータを区切って表現するテキストファイル
   

id,name,age,grade
101,John Doe,20,A
102,Jane Smith,22,B