XML
Hippani Animator 具有加载 XML 数据,并使用它来创建数据驱动的 web 页的能力。仅可以从 web 服务器或本地主机加载 XML。如果您尝试加载您硬盘上的任何 XML,该 XML 对象可能具有状态等于 0。一些浏览器 Internet Explorer 喜欢不要允许直接访问到硬盘或跨域 XML。可以添加到库中或者从 URL 加载 XML。如果您需要从另一个域加载 XML,比一个导出的 HTML 上承载,XML 必须从本地服务器页面重定向或包含头 Access-Control-Allow-Origin: *。分析的 XML 对象时要小心。不同的 web 浏览器以不同的方式处理 XML。某些浏览器包括空的空间作为文本节点,有些则不。某些浏览器允许跨域 XML,有些则不。请尝试列出节点在不同的 web 浏览器中可以查看的差异的详细信息。如何加载 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 函数可以用于发送数据到 web 服务器。只要 web 服务器的响应与有效的 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 对象从 URL 打开 XML 文件。此函数在后台运行,需要一个 URL 和一个函数,当它加载的 XML 对象发送到。
OpenXMLUrl("http://",响应:函数);
|
Open XML 方法 Url
• 到 XML 对象从 URL 打开 XML 文件。此函数在后台运行,需要一个 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,页面可能在另一个域或不在 web 服务器上。1-URL 无效。2-XML 无效。200-成功。400 - 499-请求失败。该文件可能不存在或访问被拒绝。500 - 599-响应失败。服务器返回XML文档失败,在 web 服务器上可能有错误。
|
XML 节点
attributes
• 返回节点的属性。例如 <Node attribute1="Value1" attribute2="Value2" />"
|
nodeName
• 节点的名称。一个文本节点被命名为 #Text。
|
nodeValue
• 节点的值。为文本节点值是文本。
|
若要获取某个节点中的文本:
var InnerText=null;
if(ExampleNode.firstChild!=null){
InnerText=ExampleNode.firstChild.nodeValue;
}
列表中的节点的所有子节点的详细信息:
var Node=ExampleNode.firstChild;
var List="";
while(Node!=null){
List+=Node.nodeName+" "+Node.nodeType+" "+Node.nodeValue+"\r\n";
Node=Node.nextSibling;
}
alert(List);
XML 属性
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 属性
本文档是从使用在线翻译的英语翻译。如果您发现任何错误,我们深表歉意。如果你想要帮助我们改正错误。还有一个翻译编辑器在 Hippani Animator (在帮助菜单上)。我们给出免费许可证密钥谁纠正了超过 100 个短语。请更多详细信息,联系我们。