Isi

YouTube Menggunakan JavaScript

XMLFile XML

Hippani Animator memiliki kemampuan untuk memuat XML data dan menggunakannya untuk membuat data driven halaman web. XML dapat hanya dimuat dari web server atau localhost. Jika Anda mencoba untuk me-load setiap XML pada hard drive Anda, XML objek mungkin memiliki status yang sama dengan 0. Beberapa browser seperti Internet Explorer tidak mengizinkan akses langsung ke hard drive atau lintas domain XML.

XML dapat ditambahkan ke perpustakaan atau diambil dari URL. Jika Anda perlu memuat XML dari domain lain daripada satu HTML diekspor host pada, XML harus Dialihkan dari halaman server lokal atau menyertakan header Access-Control-Allow-Origin: *.

Berhati-hatilah ketika parsing XML objek. Browser web berbeda menangani XML dalam cara yang berbeda. Beberapa browser termasuk ruang kosong sebagai teks node, beberapa tidak. Beberapa browser memungkinkan lintas domain XML, beberapa tidak. Mencoba daftar rincian node dalam browser web yang berbeda untuk melihat perbedaan.

Contoh dasar cara memuat dokumen XML disebut XMLFile1 dari perpustakaan.


OpenXML("XMLFile1",Result);
function Result(XML){
if(XML.status==200){
alert(XML.documentElement.nodeName);
}else{
alert("Error Code "+XML.status);
}
}

Contoh XML

Contoh ini menunjukkan bagaimana untuk membaca daftar buah dari sebuah file XML ke array.


<?xml version="1.0" encoding="utf-8" ?>
<List>
<Fruit>Apple</Fruit>
<Fruit>Banana</Fruit>
<Fruit>Orange</Fruit>
<Fruit>Pear</Fruit>
<Fruit>Pineapple</Fruit>
<Fruit>Grapes</Fruit>
</List>

OpenXML("XMLFile1",Result);
function Result(XML){
if(XML.status==200){
var Node=XML.documentElement.firstChild;
var List=new Array();
while(Node!=null){
if(Node.firstChild!=null){
List.push
(Node.firstChild.nodeValue);
}
Node
=Node.nextSibling;
}
alert("Loaded list. Length="+List.length+" First Item="+List[0]);
}else{
alert(XML.status+" Error!!!");
}
}

Mengirim XML

Fungsi XML dapat digunakan untuk mengirim data ke web server. Selama sebagai web server yang merespon dengan berlaku XML. URL juga harus berlaku, karakter seperti ruang dan tanda baca harus dikonversi ke URL kode misalnya ruang adalah % 20.
Contoh ini menunjukkan bagaimana Anda bisa mengirim pesan dan mengharapkan kembali XML sederhana beberapa <Success/>.


OpenXMLUrl("http://www.MyServer.com?Message=This%20is%20a%20Test", Result);
function Result(XML){
if(XML.status==200){
if(XML.documentElement.nodeName=="Success"){
alert("Message received");
}
}else{
alert(XML.status+" Error!!!");
}
}

Mengarahkan XML

Jika Anda perlu memuat XML dari domain lain daripada satu film diekspor host pada, XML harus Dialihkan dari halaman server lokal atau menyertakan header Access-Control-Allow-Origin: *. Ini adalah contoh dari ASP.NET halaman yang dapat digunakan untuk mengarahkan kami RSS feed, sehingga muncul feed yang datang dari server yang sama sebagai HTML. Kami juga telah menambahkan header untuk menunjukkan bagaimana yang dapat dicapai. Halaman server lain dapat digunakan seperti PHP.


<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net" %>
<%WebClient WC = new WebClient();
string XML=WC.DownloadString("http://www.Hippani.com/?S=RSS");
Response.AddHeader("Access-Control-Allow-Origin", "*");
Response.ContentType = "text/xml";
Response.Write(XML);
%>

Script Script

Open XML • Buka XML file ke XML objek. Fungsi ini berjalan di latar belakang dan memerlukan nama file XML di Perpustakaan dan fungsi yang objek XML dikirim ke ketika penuh.

OpenXML("Nama",Respon:Fungsi);

Open XML Url • Buka XML file ke XML objek dari URL. Fungsi ini berjalan di latar belakang dan memerlukan URL dan fungsi yang objek XML dikirim ke ketika penuh.

OpenXMLUrl("http://",Respon:Fungsi);

Metode Open XML Url • Buka XML file ke XML objek dari URL. Fungsi ini berjalan di latar belakang dan memerlukan URL dan fungsi yang objek XML dikirim ke ketika penuh. Metode HTTP dapat GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE. Beberapa metode, seperti POST, memungkinkan string data untuk dikirim.

OpenXMLMethodUrl("http://","GET",null,Respon:Fungsi);

OpenXMLMethodUrl("http://www.MySite.com/XML.php","POST","Name=Fruit&Value=Apple",Result);
function Result(XML){

}

XML objek

documentElement • Simpul akar dokumen XML.

status • Status dokumen XML.
0 - The XML objek yang gagal. XML mungkin tidak didukung oleh browser, halaman mungkin pada domain lain atau tidak pada web server.
1 - URL tidak valid.
2 - XML tidak valid.
200 - Sukses.
400-499 - permintaan gagal. File mungkin tidak ada atau akses akan ditolak.
500-599 - respon gagal. Server gagal untuk kembali dokumen XML, mungkin ada kesalahan pada web server.

XML Node

attributes • Kembali atribut dari node. misalnya <Node attribute1="Value1" attribute2="Value2" />"

nodeName • Nama node. Sebuah node teks dinamai #Text.

nodeValue • Nilai node. Untuk sebuah teks node, nilai adalah teks.

Untuk mendapatkan teks dalam sebuah node:


var InnerText=null;
if(ExampleNode.firstChild!=null){
InnerText
=ExampleNode.firstChild.nodeValue;
}

nodeType • Tipe node.

parentNode • Simpul induk.

firstChild • Node anak pertama dari node ini.

lastChild • Terakhir anak node node ini.

nextSibling • Node berikutnya.

previousSibling • Node sebelumnya.

Daftar rincian semua node anak di sebuah node:


var Node=ExampleNode.firstChild;
var List="";
while(Node!=null){
List
+=Node.nodeName+" "+Node.nodeType+" "+Node.nodeValue+"\r\n";
Node
=Node.nextSibling;
}
alert(List);

XML atribut

length • Jumlah atribut pada node.

item • Kembali atribut dengan indeks.

.item(Indeks:Nomor)

getNamedItem • Mengembalikan sebuah atribut dengan nama.

.getNamedItem("Nama")

Daftar semua atribut pada sebuah node:


var Attr=ExampleNode.attributes;
var List="";
for(var i=0;i<Attr.length;i++){
List
+=Attr.item(i).name+"="+Attr.item(i).value+"\r\n";
}
alert(List);

XML atribut

name • Nama atribut.

value • Nilai atribut.

YouTube Menggunakan JavaScript
Dokumentasi ini diterjemahkan dari bahasa Inggris, menggunakan penerjemah online. Kami Mohon maaf jika Anda menemukan kesalahan. Jika Anda ingin membantu kami membuat koreksi. Ada terjemahan editor di Hippani Animator (dalam menu Bantuan). Kami memberikan kunci lisensi gratis kepada siapa saja yang mengoreksi frase lebih dari 100. Silahkan hubungi kami untuk rincian lebih lanjut.