XML
Hippani Animator a la capacité de charger des données XML et l'utiliser pour créer des pages web d'axée sur les données. XML ne peut être chargé depuis un serveur web ou localhost. Si vous essayez de charger n'importe quel XML sur votre disque dur, l'objet XML peut avoir le statut égal à 0. Certains navigateurs tels que Internet Explorer ne permettent un accès direct au disque dur ou croix domaine XML.
XML peut être ajouté à la bibliothèque ou chargé à partir d'une URL. Si vous devez charger XML d'un autre domaine que celui du code HTML exporté est hébergé sur, le code XML doit être redirigée à partir d'une page du serveur local ou inclure l'en-tête Access-Control-Allow-Origin: *.
Soyez prudent lors de l'analyse de l'objet XML. Navigateurs web différents manipuler XML de différentes façons. Certains navigateurs incluent un espace vide en tant que nœuds de texte, certains ne le font pas. Certains navigateurs permettent inter-domaines XML, certains ne le font pas. Essayez énumérant les détails du nœud dans les navigateurs web différents pour voir la différence.
Un exemple de base de comment charger un document XML appelé XMLFile1 de la bibliothèque.
OpenXML("XMLFile1",Result);
function Result(XML){
if(XML.status==200){
alert(XML.documentElement.nodeName);
}else{
alert("Error Code "+XML.status);
}
}
Exemple XML
Cet exemple montre comment lire une liste de fruits d'un fichier XML dans un tableau.
<?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!!!");
}
}
Envoi XML
Les fonctions XML peuvent être utilisées pour envoyer des données à un serveur web. Tant que le serveur web répond avec un code XML valide. L'URL doit être également valable, de personnages tels un espaces et ponctuation doivent être convertis aux codes URL par exemple espace est % 20.
Cet exemple montre comment envoyer un message et attendre en retour certains XML simple <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!!!");
}
}
Redirection XML
Si vous devez charger XML d'un autre domaine que celui la séquence exportée est hébergé sur, le code XML doit être redirigée à partir d'une page du serveur local ou inclure l'en-tête Access-Control-Allow-Origin: *. Il s'agit d'un exemple d'un ASP.NET page qui pourrait être utilisé pour rediriger nos RSS feed, afin qu'il apparaisse que l'aliment provient le même serveur que le HTML. Nous avons également ajouté à l'en-tête pour montrer comment cela pourrait être réalisé. Autres pages de serveur peuvent être utilisés comme 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
Open XML
• Ouvrir un fichier XML dans un objet XML. Cette fonction s'exécute en arrière-plan et requiert le nom sur un fichier XML dans la bibliothèque et une fonction de l'objet XML envoyé à lorsqu'il est chargé.
OpenXML("Nom",Réponse:Fonction);
|
Open XML Url
• Ouvrir un fichier XML dans un objet XML depuis une URL. Cette fonction s'exécute en arrière-plan et nécessite une URL et une fonction de l'objet XML envoyé à lorsqu'il est chargé.
OpenXMLUrl("http://",Réponse:Fonction);
|
Url de méthode Open XML
• Ouvrir un fichier XML dans un objet XML depuis une URL. Cette fonction s'exécute en arrière-plan et nécessite une URL et une fonction de l'objet XML envoyé à lorsqu'il est chargé. La méthode HTTP peut être GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE. Certaines méthodes, telles que POST, permettre à une chaîne de données à envoyer.
OpenXMLMethodUrl("http://","GET",null,Réponse:Fonction);
|
OpenXMLMethodUrl("http://www.MySite.com/XML.php","POST","Name=Fruit&Value=Apple",Result);
function Result(XML){
}
Objet XML
documentElement
• Le nœud racine du document XML.
|
status
• Le statut du document XML. 0 - Objet XML a échoué. XML n'est pas supportée par ce navigateur, ou la page peut être sur un autre domaine ou pas sur un serveur web. 1 - L'URL n'est pas valide. 2 - Le XML n'est pas valide. 200 - Succès. 400 à 499 - échec de la requête. Le fichier n'existe ne peut-être pas ou l'accès est refusé. 500 à 599 - échec de la réponse. Le serveur n'a pas renvoyer le document XML, il peut y avoir une erreur sur le serveur web.
|
Nœud XML
attributes
• Retourne les attributs du nœud. par exemple <Node attribute1="Value1" attribute2="Value2" />"
|
nodeName
• Le nom du nœud. Un nœud de texte est appelé #Text.
|
nodeValue
• La valeur du nœud. Pour un nœud de texte, la valeur est le texte.
|
Pour obtenir le texte au sein d'un nœud :
var InnerText=null;
if(ExampleNode.firstChild!=null){
InnerText=ExampleNode.firstChild.nodeValue;
}
nodeType
• Le type de nœud.
|
parentNode
• Le nœud parent.
|
firstChild
• Le premier nœud enfant de ce nœud.
|
lastChild
• Le dernier nœud enfant de ce nœud.
|
nextSibling
• Le nœud suivant.
|
previousSibling
• Le nœud précédent.
|
Liste les détails de tous les nœuds enfants d'un nœud :
var Node=ExampleNode.firstChild;
var List="";
while(Node!=null){
List+=Node.nodeName+" "+Node.nodeType+" "+Node.nodeValue+"\r\n";
Node=Node.nextSibling;
}
alert(List);
Attributs XML
length
• Le nombre d'attributs du nœud.
|
item
• Retourne un attribut par index.
.item(Index:Nombre)
|
getNamedItem
• Retourne un attribut par nom.
.getNamedItem("Nom")
|
Liste de tous les attributs d'un nœud :
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);
Attribut XML
name
• Le nom de l'attribut.
|
value
• La valeur de l'attribut.
|
Cette documentation a été traduite de l'anglais, à l'aide d'un traducteur en ligne. Nous nous excusons si vous trouvez des erreurs. Si vous souhaitez nous aider à apporter des corrections. Il y a un éditeur de la traduction en Hippani Animator (dans le menu aide). Nous donner les clés de licence libre à toute personne qui corrige plus de 100 phrases. S'il vous plaît nous contacter pour plus de détails.