일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Microsoft
- 액션스크립트
- API
- 마이크로소프트
- Air
- 워렌 버핏
- Papervision3D
- Genome2D
- Flash
- stage3d
- XAML
- Papervision
- 플래시
- 플렉스
- Silverlight
- 물리엔진
- adobe
- 아폴로케이션
- ActionScript
- framework
- 책
- Flex
- 어도비
- 아폴로
- 3D
- starling
- 실버라이트
- 도서
- 주식
- 3.0
- Today
- Total
WonHada.com으로 이전
[AS3] XML 검색 본문
= 액션스크립트[ActionScript] 3.0 XML =
var xml:XML =
<root>
<node label="nodeLabel1">
<sub>sub1</sub>
</node>
<node label="nodeLabel2">
node1
<sub>sub2</sub>
</node>
<main>
<node label="nodeLabel3">
mainNode1
<sub>sub3</sub>
</node>
<sub>sub2</sub>
</main>
</root>;
위 XML을 다양하게 검색하는 방법을 소개합니다..
.. 연산자를 이용하면 모든 노드를 검사해서 해당 노드를 찾습니다..
var xmllist:XMLList = xml..node;
trace(xmllist.toXMLString());
/*
<node label="nodeLabel1">
<sub>sub1</sub>
</node>
<node label="nodeLabel2">
node1
<sub>sub2</sub>
</node>
<node label="nodeLabel3"> //<main>내의 <node>까지 검색
mainNode1
<sub>sub3</sub>
</node>
*/
찾아낸 XMLList의 부모를 접근할 수도 있습니다..parent()는 메소드입니다..괄호 주의..
trace(XML(xmllist[2]).parent().toXMLString());
/*
<main>
<node label="nodeLabel3">
mainNode1
<sub>sub3</sub>
</node>
<sub>sub2</sub>
</main>
*/
속성을 검사하는 방법은 아래와 같습니다.. == 뿐만 아니라 < > <= >= 과 같은 비교연산자도 사용할 수 있습니다..
trace(xmllist.(@label=="nodeLabel2").toXMLString());
/*
<node label="nodeLabel2"> //속성이 nodeLabel2인 노드를 찾았습니다.
node1
<sub>sub2</sub>
</node>
*/
속성뿐만 아니라 노드의 값도 비교가 가능합니다..
trace(xmllist.(sub=="sub3").toXMLString());
/*
<node label="nodeLabel3">
mainNode1
<sub>sub3</sub> //sub 노드의 값이 sub3인 노드를 찾았습니다.
</node>
*/
값을 변경하거나 저장할 수도 있습니다..
xmllist.(sub=="sub3").@label = "changeLabel";
xmllist.(sub=="sub3").@label2 = "changeLabel2";
trace(xmllist.(sub=="sub3").toXMLString());
/*
<node label="changeLabel" label2="changeLabel2">
mainNode1
<sub>sub3</sub>
</node>
*/