XPathAPI클래스를 통해 플래시에서도 XML에 대해 xPath를 적용할수 있습니다.
또한 메소드 하나만으로 쉽게 XMLNode에 대한 정보를 배열로 리턴 받을수도 있습니다.
다음은 본 블로그의 RSS를 xPath를 통해 접근하여 노드를 얻어내는 예제 코드입니다.
System.useCodepage = true;
import mx.xpath.XPathAPI;
var rssfeed_xml:XML = new XML ();
rssfeed_xml.ignoreWhite = true;
rssfeed_xml.onLoad = function (bool:Boolean)
{
if (bool)
{
var thePath_str:String = "/rss/channel/item/title";
var title_array:Array = XPathAPI.selectNodeList (this.firstChild,thePath_str);
for (var i:Number=0; i < title_array.length; i++)
{
trace (title_array[i].firstChild.nodeValue);
}
}
}
rssfeed_xml.load ("http://blog.rss.naver.com/actionhead.xml");
XPathAPI는 절대경로, 상대경로 와일드카드(*)등의 사항에 관한 지원이 가능합니다.
XPathAPI의 메소드
------------------------------------------------------------------------------
XPathAPI.getEvalString () : 특정 노드에 대한 문자열 반환
XPathAPI.selectNodeList () : 선택된 노드들을 배열로 리턴
XPathAPI.selectSingleNode () : 특정 노드 리턴
XPathAPI.setNodeValue () : 특정 노드의 노드값 변경
------------------------------------------------------------------------------