XML
Hippani Animator має можливість завантажити XML-даних і використовувати його для створення даних driven веб-сторінок. XML можуть бути завантажені з веб-сервера або localhost. Якщо ви спробуєте встановити будь-якої XML на жорсткому диску, об'єкт XML може мати стан дорівнює 0. Деякі браузери, як браузер Internet Explorer не дозволити прямий доступ на жорсткий диск або перетинаються домену XML.
XML може бути додано до бібліотеки або завантажені з URL-адреси. Якщо вам потрібно завантажити XML з іншого домену, ніж один експортованих HTML розміщений на, XML повинні бути Перенаправлено з локальний сервер сторінки або включають заголовок Access-Control-Allow-Origin: *.
Будьте обережні при розборі XML-об'єкт. Різні браузери обробки XML по-різному. Деякі браузери включають порожній простір як текстові вузли, комусь ні. Деякі браузери дозволяють міждоменний XML, комусь ні. Спробуйте лістингу вузол деталі в різних браузерах, щоб побачити різницю.
Основний приклад того, як завантажити XML-документ під назвою XMLFile1 з бібліотеки.
OpenXML("XMLFile1",Result);
function Result(XML){
if(XML.status==200){
alert(XML.documentElement.nodeName);
}else{
alert("Error Code "+XML.status);
}
}
Приклад XML
Цей приклад показує, як читати список фрукти з XML-файлу в масив.
<?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!!!");
}
}
Відправлення XML
XML функції можуть використовуватися для надсилання даних до веб-сервера. Оскільки веб-сервер відповідає з дійсним XML. URL-адреса має бути дійсним, символи такі простори та знаки пунктуації повинні перетворити URL коди наприклад простору є % 20.
Цей приклад показує, як ви може відправити повідомлення і очікувати назад деякі прості XML <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!!!");
}
}
Перенаправлення XML
Якщо потрібно завантажити XML з іншого домену, ніж один експортованого фільму розміщується на XML повинні перенаправлено на сторінці локальний сервер або включення верхнього колонтитула Access-Control-Allow-Origin: *. Це приклад того, що ASP.NET сторінки, який може використовуватись для переспрямування наш RSS-канал, так що схоже, каналу надходить на одному сервері як HTML. Ми також додали заголовок, щоб показати, як це може бути досягнуто. Інші сторінки сервера може використовуватися як 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);
%>
Сценарій
Open XML
• Відкрити файл XML на об'єкт XML. Ця функція працює у фоновому режимі і вимагає ім'я на XML-файл у бібліотеці та функції, що об'єкт XML надсилається до, під час його завантаження.
OpenXML("Ім’я",Відповідь:Функція);
|
Open XML Url
• Відкрити файл XML в XML-об'єкт з URL. Ця функція працює у фоновому режимі і вимагає URL-адресу та функції, що об'єкт XML надсилається до, під час його завантаження.
OpenXMLUrl("http://",Відповідь:Функція);
|
Метод Url Open XML
• XML-файл відкривається у XML-об'єкт з URL. Ця функція працює у фоновому режимі і вимагає URL-адреси і функція, яка об'єкт XML надсилається, коли він завантажується. HTTP метод може бути GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE. Деякі методи, такі як POST, дозволяють рядок даних буде надіслано.
OpenXMLMethodUrl("http://","GET",null,Відповідь:Функція);
|
OpenXMLMethodUrl("http://www.MySite.com/XML.php","POST","Name=Fruit&Value=Apple",Result);
function Result(XML){
}
Об'єкт XML
documentElement
• Кореневий вузол XML-документа.
|
status
• Статус документа XML. 0 - Об'єкт XML-код не вдалося. XML може не підтримується цим браузером, сторінки можуть бути в іншому домені або не на веб-сервері. 1 - URL-АДРЕСИ є неприпустимим. 2 - XML неприпустимий. 200 - Успіх. 400 до 499 - запит не виконано. Файл не існує або може бути доступі. 500 до 599 - відповідь не вдалося. Не вдається повернути XML-документ, можуть бути помилки на веб-сервері.
|
Вузол XML
attributes
• Повертає атрибути вузол. Наприклад <Node attribute1="Value1" attribute2="Value2" />"
|
nodeName
• Ім'я вузла. Вузол текст називається #Text.
|
nodeValue
• Значення вузла. Для вузла текст значення є текстом.
|
Щоб отримати тексту всередині вузла:
var InnerText=null;
if(ExampleNode.firstChild!=null){
InnerText=ExampleNode.firstChild.nodeValue;
}
parentNode
• Батьківський вузол.
|
firstChild
• Перший дочірнього вузла на цьому вузлі.
|
lastChild
• Останній дочірнього вузла на цьому вузлі.
|
nextSibling
• Наступний вузол.
|
previousSibling
• Попередній вузол.
|
Список відомостей про дочірні вузли у вузлі:
var Node=ExampleNode.firstChild;
var List="";
while(Node!=null){
List+=Node.nodeName+" "+Node.nodeType+" "+Node.nodeValue+"\r\n";
Node=Node.nextSibling;
}
alert(List);
XML-атрибути
length
• Кількість атрибутів у вузлі.
|
item
• Повертає атрибути за допомогою індексу.
.item(Індекс:Номер)
|
getNamedItem
• Повертає ім'я атрибута.
.getNamedItem("Ім’я")
|
Список всіх атрибутів у вузлі:
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-атрибут
value
• Значення атрибута.
|
Ця документація була перекладені з англійської, за допомогою онлайн-перекладачем. Приносимо свої вибачення, якщо ви знайдете будь-які помилки. Якщо ви хотіли б допомогти нам внести виправлення. Немає перекладу редактором в Hippani Animator (у меню «Довідка»). Ми роздавати безкоштовна ліцензія клавіш будь-кому, хто виправляє понад 100 фраз. Будь ласка, зв'яжіться з нами для більш докладної інформації.