![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
XMLでデータ交換することには、利点と欠点があります。
利点としては、それがスタンダードであるということです。
XML化するということは、簡単に言えば、データを
標準フォーマットで記述する、ということです。
たとえば、仮に文書はWordで書くのが「標準」である、
と決まったとすると、Wordの文書は誰もが開けることになります。
このとき、ナイアガラとかマイナーな(?)ソフトで
書いた文書は、別の文書と統合できませんが、
Word形式に改めれば、誰の文書とでも統合が可能になります。
XML化するとは、このたとえで言う、Word形式にする、
ということと同じ事です。
つまり、重要なのは、XMLがスタンダードである
(スタンダードたりえた)ということなのです。
また、同時に欠点もあります。
欠点としては、タグなどをやたらとつけなくては
いけないので、データが冗長になること。それから、
仕様もツール類も「枯れて」いないので、いろいろ
覚えたり、試行錯誤するのが面倒なこと。
勉強するのに書籍代がかさむこと。
英語のドキュメントが読まなくちゃいけないケースが
増えること。結局プログラマに苦労のしわ寄せが来ている
ような気がすること。その他いろいろ。
しかし、
欠点より利点が勝っているために、XMLWebサービスは
現在、騒がれているわけです。
基本的にWebサービスが想定しているのは、インターネットの
ようなグローバルな環境で、データ交換を行うことです。
そのためには、XMLのようなスタンダードなフォーマットを
採用する必要があったわけです。
グローバルな環境を想定せずに、
単に「異なるプラットフォーム上のアプリケーションを統合する」
という視点からでは、XMLが採用されねばならない理由は
とても小さくなります。
スタンダードなフォーマットでなくても管理できてしまう場合も
多いからです。
もっとも、そういう場合であってもXML化しておけば、
後々役立ちそうというホケンになるという考え方もありますが。
No.1
- 回答日時:
本当のとこを、よーく考えると・・・
XMLとは、データだけでなく文字コードの定義からデータのスキーマやらあらゆる情報を詰め込んで冗長にしただけの、単なる通信電文の「取り決め」であることにお気づきになると思います。
>今までは、そのような事はできなかったのでしょうか?
技術的に「できなかった」というより、そのような「取り決め」を「やってなかった」だけです。
インターネットをはじめ、ネットワークの普及により、情報をやり取りするためには、メーカー標準や業界標準を超えたグローバルな通信電文の取り決めが必要になってきています。
XMLは、その「グローバル標準」を狙って提唱されているもので
>異なるプラットフォーム上のアプリケーションとも統合することが可能
「である」というより、「うまくいけばそうなるかも知れない」というのが現状です。
>.NETのどんな機能がそれを可能にしたのか
がっかりするかもしれませんが、XMLとプログラム内のデータとを変換する翻訳/解釈プログラム(パーザ)の機能です。これは、本質的に従来のデータ変換モジュールと何ら変わりありません。
>XMLでデータ交換することの利点
上にも書いたとおり、とりあえずは、「うまくいけば」異なるプラットフォームやアプリとのデータ交換が「できるようになるかもしれない」こと。
あとは、「XML対応してます」と言うと、新しモノ好きのクライアントにはウケること。
別のアプリとのデータ交換の仕様書作成が、ほんの少しラクになるということ。
javaや.NETのようにパーザが標準装備の言語で開発するとき、プログラムの手間とテスト工程が少しラクになること。
逆に、一般のライブラリを使用するときと同じで、ワケわからんパーザのバグか使用方法のミス、パフォーマンス低下に悩まされることにもなります。
本質をわからないままに「XML、XML・・」と信奉する人たちにあなたのように「素朴な」かつ「本質を突いた」質問
を浴びせると、ヒステリックで理不尽な反撃を食らってしまいますので、ご注意を・・・
>どうもピンとこない
XMLといい、フレームワークといいITにはその手のものはつきもののようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルマクロ小数点桁数
-
ASP C# データベースから1行取得
-
DataGridViewで表示に制限をつ...
-
Listviewのデータを上から順番...
-
アクセス2007 レポートで表示さ...
-
VBAでページ番号、ページ最終行...
-
【Excel VBA】先頭の「0」飛び...
-
PDFメニューバーの右端にある(...
-
こういったHPを作る場合、どこ...
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
EXCELで変数をペーストしたい
-
テキストボックスのvalueとtext...
-
i=cells(Rows.Count, 1)とi=cel...
-
[エクセル]連続する指定範囲か...
-
Excelのセルの色指定をVBAから...
-
TODAY()で設定したセルの日付...
-
Excel vbaで特定の文字以外が入...
-
連続する複数のセル値がすべて0...
-
VB.NETで DataRow()を利用して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】先頭の「0」飛び...
-
DataGrdViewに関連付けたデータ...
-
Listviewのデータを上から順番...
-
MSFlexGridのデータ表示位置の設定
-
GASでスプレッドシートの一番上...
-
.NET SqlDataReader のレコー...
-
GridViewにバインドせずにデー...
-
DataGridViewで表示に制限をつ...
-
VBAでページ番号、ページ最終行...
-
DataGridViewの内...
-
VB.net CrystalReportでプロジ...
-
GridViewを自動的にスクロール...
-
【ASP.NET MVC】一覧編集画面
-
ACCESSのVBAで[Split]について
-
C# データ配列から画像を作成す...
-
Excelのグラフがちらつい...
-
ASP C# データベースから1行取得
-
VB DataRepeaterにて条件で表示
-
VB.NETにてDB2のBLOB型のデータ...
-
ListViewで条件によって表示を...
おすすめ情報