XML - E4X


E4X は JavaScript に XML への直接サポートを追加します。


E4X の例

var employees=
<employees>
<person>
<name>Tove</name>
<age>32</age>
</person>
<person>
<name>Jani</name>
<age>26</age>
</person>
</employees>;

document.write(employees.person.(name == "Tove").age);

この例は Firefox でのみ動作します!

試してみる »



JavaScript オブジェクトとしての XML

E4X は JavaScript の正式な標準であり、XML への直接サポートを追加します。

E4X を使用すると、Date または Array オブジェクト変数を宣言するのと同じ方法で、XML オブジェクト変数を宣言できます:

var x = new XML()

var y = new Date()

var z = new Array()

E4X は ECMAScript(JavaScript)標準です。

ECMAScript は JavaScript の正式名称です。ECMA-262(JavaScript 1.3)は 1999 年 12 月に標準化されました。

E4X は JavaScript の拡張であり、XML への直接サポートを追加します。ECMA-357(E4X)は 2004 年 6 月に標準化されました。

ECMA 機関(1961年設立)は、情報通信技術(ICT)と家電(CE)の標準化に特化しています。ECMA が策定した標準は次のとおりです:

  • JavaScript
  • C# 言語
  • 国際文字セット
  • 光ディスク
  • 磁気テープ
  • データ圧縮
  • データ通信
  • など...

E4X を使用しない場合

次の例はクロスブラウザ対応の例で、既存の XML ドキュメント("note.xml")を XML パーサーに読み込み、メッセージを表示します:

例

var xmlDoc;
//code for Internet Explorer
if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("note.xml");
displaymessage();
}
// code for Mozilla, Firefox, etc.
else (document.implementation && document.implementation.createDocument)
{
xmlDoc= document.implementation.createDocument("","",null);
xmlDoc.load("note.xml");
xmlDoc.onload=displaymessage;
}

function displaymessage()
{
document.write(xmlDoc.getElementsByTagName("body")[0].firstChild.nodeValue);
}

試してみる »

E4X を使用する場合

次の例は上記の例と同じですが、E4X を使用しています:

var xmlDoc=new XML();
xmlDoc.load("note.xml");
document.write(xmlDoc.body);

ずっと簡単ですよね?


ブラウザのサポート

Firefox現在、E4X のサポートが比較的良好な唯一のブラウザです。

現在まだ E4X をサポートしていないものはOpera、Chrome 或 Safari。

これまでのところ、...においてサポートの兆候はありませんInternet Explorer中での E4X のサポート。


E4X の未来

E4X は広くサポートされていません。おそらく、提供される実用的な機能が少なすぎて、他のソリューションではまだ扱われていないのでしょう:

  • 完全な XML 処理には、さらに学ぶ必要があります:XML DOMとXPath
  • XMLHttpRequests にアクセスするには、JSONが推奨される形式です。
  • 単純なドキュメント処理には、JQuery選択がより簡単です。

その他の拡張