내용

YouTube 자바 스크립트를 사용 하 여

XMLFile XML

Hippani Animator XML 데이터를 로드 하 고 데이터 중심의 웹 페이지를 만드는 데 사용할 수 있다. XML 웹 서버 또는 로컬 호스트에서 로드할 수 있습니다. 하드 드라이브에 모든 XML을 로드 하려고 하는 경우 XML 개체 상태 0 있을 수 있습니다. 인터넷 익스플로러와 같은 일부 브라우저는 하드 드라이브에 직접 액세스할 수 있도록 하거나 크로스 도메인 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);
%>

Script 스크립트

Open XML • XML 개체에 XML 파일을 엽니다. 이 함수는 백그라운드에서 실행 하며 라이브러리를 로드할 때 XML 개체 보내기 기능에서 XML 파일에 이름.

OpenXML("이름",응답:함수);

Open XML Url • URL에서 XML 개체로 XML 파일을 엽니다. 이 함수는 백그라운드에서 실행 하며 URL을 로드할 때 XML 개체에 전송 되는 기능.

OpenXMLUrl("http://",응답:함수);

Open XML 메서드 Url • URL에서 XML 개체로 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-The 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;
}

nodeType • 노드 형식입니다.

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 특성

name • 특성의 이름입니다.

value • 특성의 값입니다.

YouTube 자바 스크립트를 사용 하 여
이 문서는 온라인 번역기를 사용 하 여 영어에서 번역 되었다. 우리는 어떤 실수를 찾을 것을 사과 한다. 만약 당신이 수정 하는 데 도움이 하 고 싶습니다. 번역 편집기에서 Hippani Animator (도움말 메뉴)에서. 우리가 100 이상의 문구를 수정 하는 사람에 게 무료 라이센스 키를 알려주지. 자세한 내용은 문의 하시기 바랍니다.