p
활용법은 간단하다. url만 입력하고 loadXml을 호출하면 알아서 해 주니깐.
로드한 XML을 파싱하는 방법은 다음과 같다.
예를 들자면,
에서 위 코드를 실행하면, 결과값은 <test> ~ </test> 사이의 값이 나온다. 즉,
내부 값을 가져오기 위해서는, childNodes 를 한번 더 써준다.
다른 메서드로는 firstChild / lastChild과 nodeName과 nodeValue, parentNode, attributes 등이 존재한다. 대부분의 속성들은 이름만 봐도 의미를 파악할 수 있지만, nodeName과 attributes는 그 의미가 중요하므로 직접 살펴본다. [자세한 정보는 http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/xml/XMLNode.html을 참조]
*nodeName의 활용 예이다.
.. 너무 간단해서 쓸 게 없네 (..)
*attributes는 해당 XML 자식 값을 가져오거나 지정할 때 쓴다.
ps. 그런데 항상 작동하는 건 아닌 것 같다. 이유는 잘 모르겠지만 ...
var myXML:XML;
function loadXml (page, func) {
myXML = new XML();
myXML.ignoreWhite=true;
myXML.load(page);
myXML.onLoad = func;
}
function parseXml (success) {
if (!success)
{
// 로드 실패시 처리할 부분 ...
} else {
// 로드 성공시 처리할 부분 ...
}
}
loadXml (url, parseXml);
function loadXml (page, func) {
myXML = new XML();
myXML.ignoreWhite=true;
myXML.load(page);
myXML.onLoad = func;
}
function parseXml (success) {
if (!success)
{
// 로드 실패시 처리할 부분 ...
} else {
// 로드 성공시 처리할 부분 ...
}
}
loadXml (url, parseXml);
활용법은 간단하다. url만 입력하고 loadXml을 호출하면 알아서 해 주니깐.
로드한 XML을 파싱하는 방법은 다음과 같다.
// 맨 첫번째 자식노드의 내부 코드를 가져온다
myXML.childNodes[0];
myXML.childNodes[0];
예를 들자면,
- data.xml -
<?xml version="1.0" encoding="UTF-8"?>
<test>
<item>데이터 1</item>
<item>데이터 2</item>
</test>
에서 위 코드를 실행하면, 결과값은 <test> ~ </test> 사이의 값이 나온다. 즉,
이 된다.<item>데이터 1</item>
<item>데이터 2</item>
내부 값을 가져오기 위해서는, childNodes 를 한번 더 써준다.
trace(myXML.childNodes[0].childNodes[0]);
-> "<item>데이터 1</item>"
trace(myXML.childNodes[0].childNodes[1]);
-> "<item>데이터 2</item>"
trace(myXML.childNodes[0].childNodes[0].childNodes[0]);
-> "데이터 1"
trace(myXML.childNodes[0].childNodes[1].childNodes[0]);
-> "데이터 2"
-> "<item>데이터 1</item>"
trace(myXML.childNodes[0].childNodes[1]);
-> "<item>데이터 2</item>"
trace(myXML.childNodes[0].childNodes[0].childNodes[0]);
-> "데이터 1"
trace(myXML.childNodes[0].childNodes[1].childNodes[0]);
-> "데이터 2"
다른 메서드로는 firstChild / lastChild과 nodeName과 nodeValue, parentNode, attributes 등이 존재한다. 대부분의 속성들은 이름만 봐도 의미를 파악할 수 있지만, nodeName과 attributes는 그 의미가 중요하므로 직접 살펴본다. [자세한 정보는 http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/xml/XMLNode.html을 참조]
*nodeName의 활용 예이다.
trace(myXML.childNodes[0].childNodes[0].nodeName);
-> "item"
trace(myXML.childNodes[0].nodeName);
-> "test"
-> "item"
trace(myXML.childNodes[0].nodeName);
-> "test"
.. 너무 간단해서 쓸 게 없네 (..)
*attributes는 해당 XML 자식 값을 가져오거나 지정할 때 쓴다.
ps. 그런데 항상 작동하는 건 아닌 것 같다. 이유는 잘 모르겠지만 ...
trace(myXML.attributes.test);
-> "<item>테스트 1</item><item>테스트 2</item>"
-> "<item>테스트 1</item><item>테스트 2</item>"
'개발 > Developing' 카테고리의 다른 글
negative number들의 radix sort (2) | 2013.05.14 |
---|---|
기존의 libtwitcurl이 토큰 및 인증 관련하여 제대로 작동하지 않던 문제에 대해서. (9) | 2013.03.08 |
안드로이드 프로그래밍 입문 팁들 (13) | 2012.01.19 |
jquery.twitter.js의 트위터 계정 동시 로드 에러를 수정해 보았습니다. (0) | 2011.12.06 |
[Flash] AS 2.0에서 loadMovie로 외부 이미지/플래시 읽어들일 때 로드 이벤트 감지 및 리사이즈 (0) | 2010.05.10 |