 |
|
|  |
xmlÆÄÀÏÀÇ È°¿ë - xpath ¸¦ »ç¿ëÇϱâ - ¾×¼Ç2.0ÄÚµù |
|
|
 |
13³â Àü |
³×ºñ°ÔÀ̼Ç, bbs, °¶·¯¸®, °ÔÀÓ... µîµî ¾îµð¼µµ ¾ÈºüÁö°í È°¿ëÇÏ´Â xml !! ÀÌ ÈǸ¢ÇÑ Æ÷¸äÀ» °£´ÜÈ÷ »ç¿ëÇغ¸ÀÚ. Âü°í·Î ÀÌ»çÀÌÆ®ÀÇ ´ëºÎºÐ Ç÷¡½Ã ÀÛ¾÷Àº xmlÀ» »ç¿ëÇØ ÀÌ·ç¾îÁ® ÀÖ¾î ´ÜÁö ±ÛÇÑÁÙ Ãß°¡·Î ÄÁÅÙÃ÷°¡ È®ÀåµÇ°Ô²û ±¸¼ºµÇ¾îÀÖ´Ù.
»ç¶÷¸¶´Ù xml ´Ù·ç´Â ¹æ½ÄÀº õÂ÷¸¸º°ÀÌÁö¸¸ º»¹æ½ÄÀº Ç÷¡½Ã xpath ¼Ó¼ºÀ» »ç¿ëÇÑ ¹æ½ÄÀ» ÀÌ¿ëÇÑ´Ù.
xml ÆÄÀÏ ¿¹)
<?xml version="1.0" encoding="utf-8"?>
<index>
<sound>
<depth2 song="sound/hereisgone.mp3" name="here is gone" />
<depth2 song="sound/moonrise.mp3" name="Moonrise" />
<depth2 song="sound/bodyrock.mp3" name="Bodyrock" />
<depth2 song="sound/EAT_EM_UP.mp3" name="EAT'EM UP!"/>
<depth2 song="sound/golem_tower.mp3" name="golem tower" />
<depth2 song="sound/jeo01.mp3" name="¾Ö´ÏÀ½¾Ç???" />
<depth2 song="sound/town_pvp.mp3" name="town pvp" />
</sound>
<web>
<depth2 img="web/img/0_snstadium.jpg" />
<depth2 img="web/img/1_cm4.jpg" Link="http://www.cm4korea.co.kr" />
<depth2 img="web/img/2_enjoyworld.jpg" Link="http://glj.enjoygame.jp/" />
<depth2 img="web/img/3_enjoyworld2.jpg" Link="http://glj.enjoygame.jp/" />
<depth2 img="web/img/4_oasis.jpg" Link="http://www.enjoyoasis.co.jp" />
</web>
</index>
-- ¿Ü±¹¾î »ç¿ëÀ» À§ÇØ ÄÚµù ¹æ½ÄÀ» kr ÀÌ¾Æ´Ñ utf-8À» »ç¿ëÇÞ´Ù(¿µ¹®Àº kr µµ »ó°ü¾øÀ¸´Ï ÀϺ»¾îµîÀ» »ç¿ëÇÏ·Á¸é utf-8¹æ½ÄÀ¸·Î ÀÎÄÚµùÇÑ´Ù.
ÀÌÆÄÀÏÀ» text.xml ÆÄÀÏÀ̶ó°í ÀúÀåÇÏ°í Ç÷¡½Ã·Î ºÒ·¯¿Í º¸ÀÚ
loadXml = new XML(); //»õ·Î xml·Î´õ¸¦ ¸¸µç´Ù.
loadXml.ignoreWhite = true; //xml ³»¿ëÀÇ °ø¹éÀ» ¹«½ÃÇÑ´Ù
loadXml.load("test.xml"); //·ÎµåÇÒ xml ÆÄÀÏÀÇ À§Ä¡
loadXml.onLoad=function(success:Boolean) {
if (success) { //xml ÆÄÀÏ ·Îµå¿¡ ¼º°ø ÇßÀ» °æ¿ì
trace("xml load success!!")
} else { //xml ÆÄÀÏ ·Îµå¿¡ ½ÇÆÐ ÇßÀ» °æ¿ì
trace("xml load faill !!!")
}
¸¸¾à ¼º°øÀûÀ¸·Î xml ÆÄÀÏÀ» Ç÷¡½Ã¿¡¼ ºÒ·¯¿Í 졋´Ù¸é Ãâ·Ââ¿¡ xml load success!! ¶ó´Â ¸Þ¼¼Áö°¡ ¶ã°ÍÀÌ´Ù. ¹Ý´ë·Î ·Îµù¿¡ ½ÇÆÐÇß´Ù¸é
xml load faill !!! ¶ó´Â ¸Þ¼¼Áö°¡ ¶ã°ÍÀÌ´Ù.
´«Ä¡ ê°ÙÁö¸¸ xml Á¤º¸¸¦ ´Ù·ç±âÀ§ÇÑ ½ºÅ©¸³Æ®´Â
if (success) {
´ç¿¬È÷ ¼º°øÇÑ ÀÌ°÷ ¾È¿¡´Ù ÀÛ¼ºÇÏ¸é µÈ´Ù.
}
ÀÚÀÌÁ¦ ·ÎµùÀ» ¼º°ø ÇÞÀ¸´Ï º»°ÝÀûÀ¸·Î ·ÎµùÇÑ µ¥ÀÌŸ¸¦ È°¿ëÇغ¸ÀÚ.
·ÎµùµÈ µ¥ÀÌŸ¸¦ ÃßÀûÇÒ·Á¸é
path= this.firstChild.childNodes; //±âº» ³ëµå °Ë»ö
len = path.length; //³ëµåÀÇ ¼ýÀÚ °Ë»ö
for (var i = 0; i<len; i++) { //¹Ýº¹¹®À» ÀÌ¿ëÇÑ ³ëµå °Ë»ö
path[i].childNodes[0].firstChild;
path[i].childNodes[1].firstChild;
path[i].childNodes[2].firstChild;
.
.
.
}
ºÎ¸ð¿¡¼ºÎÅÍ Àڽİ£ÀÇ À§Ä¡¸¦ ÀÏÀÏÀÌ Ã£¾Æ µé¾î°¡¾ß ÇÏ´Â ºÒÆíÇÔÀÌ º¸ÀÌÁö ¾Ê´Â°¡? ÆÛ½ºÆ®, Â÷Àϵå, ÆÛ½ºÆ® Â÷Àϵå.. ÀÌ·¸°Ô °ü°è¸¦ µÇÁý¾îº¸´Â°ÍÀº ¾ÆÂñÇÏ¿© Çö±âÁõÀÌ ³ª±â±îÁöµµ ÇÏ´Ù. - À§ÄÚµå´Â À§¿¡ ÀÛ¼ºÇÑ xml ÄÚµå¿Í ¹æ½ÄÀÌ ¸ÂÁö¾Ê¾Æ ´ç¿¬È÷ µ¥ÀÌŸ°¡ ³ª¿ÀÁú ¾Ê´Â´Ù... -
¿©±â¼ ¿ì¸®´Â xpath¶ó´Â °ÍÀ» È°¿ëÇغ¸ÀÚ.
loadXml = new XML(); ±¸Àý À§¿¡´Ù°¡
import mx.xpath.XPathAPI;
¶ó´Â ±¸ÀýÀ» Ãß°¡ÇÑ´Ù. ±×¸®°í if (success) ¾È¿¡ ´ÙÀ½°ú °°ÀÌ Àû´Â´Ù.
var path1 = "/index/sound/depth2";
var path1_array = XPathAPI.selectNodeList (this.firstChild, path1);
var path2 = "/index/web/depth2";
var path2_array = XPathAPI.selectNodeList (this.firstChild, path2);
¸ÕÀú ¿¹½ÃÇß´ø ºÎ¸ð ³ëµå Àڽijëµå¸¦ ÆÛ½ºÆ®,Â÷Àϵå, ÆÛ½ºÆ® Â÷Àϵåµîµî ÀÏÀÏ Ã£¾Æ°¡¾ß Çؼ Çò±ò¸®´ø °ÍÀ» ´Ü µÎÁÙ·Î ÇØ°áÇϴ°ÍÀÌ´Ù !!
½ºÅ©¸³Æ®¸¦ º¸¸é ´«Ä¡ ê°ÙÁö¸¸
path1 ¿¡¼± sound¿Í °ü·ÃµÈ Àڽijëµåµé¸¸À»
path2 ¿¡¼± web°ú °ü·ÃµÈ Àڽijëµåµé¸¸À» ºÒ·¯ µéÀδÙ.
ÀÌÁ¦ ±¸Ã¼ÀûÀÎ µ¥ÀÌŸ¸¦ Ç÷¡½Ã¿¡ ¸í½ÃÇغ¸ÀÚ.
¸ÕÀú sound¸¦ ºÒ·¯µéÀÎ path1À» ´Ù·ïº¸ÀÚ
¸ÕÀú xmlÆÄÀÏÀ» ´Ù½Ã ÈÈ¾î º¸ÀÚ
<depth2 song="sound/hereisgone.mp3" name="here is gone" />
.
.
À§ÀÇ ¹®À» º¸¸é depth2 ³ëµå ¾È¿¡ 'song'°ú 'name'À̶ó´Â µÎ°¡Áö ¼Ó¼ºÀÌ Á¸ÀçÇϴ°ÍÀ» ¾Ë¼öÀÖ´Ù. ÀÌÁ¦ Ç÷¡½Ã¿¡¼ ¹è¿À» ÀÌ¿ëÇØ ÀÌ µÎ°¡Áö ¼Ó¼ºÀ» »Ì¾Æ °¢°¢ ÀúÀåÇغ¸ÀÚ
len = path1.length //path1ÀÇ ÀڽijëµåµéÀÇ Àüü¼ýÀÚ¸¦ len°ª¿¡ ºÎ¿©ÇÑ´Ù.
soundLink=[]; //song ¼Ó¼ºÀ» ÀúÀåÇÒ ¹è¿À» ¸¸µç´Ù.
soundName=[]; //name ¼Ó¼ºÀ» ÀúÀåÇÒ ¹è¿À» ¸¸µç´Ù.
for (var i=0; i<len ; i++){ //i°¡ path1ÀÇ depth2³ëµåµéÀÇ Àüü¼ö°¡ µÉ¶§±îÁö ¹Ýº¹ÇÑ´Ù.
soundLink[i] = path1[i].attributes.song //depth2³ëµå¾È¿¡ ÀÖ´Â song ¼Ó¼ºÀ» ¹è¿¿¡ ÀúÀåÇÑ´Ù.
soundName[i] = path1[i].attributes.name //depth2³ëµå¾È¿¡ ÀÖ´Â name ¼Ó¼ºÀ» ¹è¿¿¡ ÀúÀåÇÑ´Ù.
}
À§¿Í °°ÀÌ °¢³ëµåÀÇ ¼Ó¼ºÀº
path1[i].attributes.song
¹è¿À̸§[¹è¿¼ø¼] .attributes.¼Ó¼ºÀ̸§
°°ÀÌ °£´ÜÈ÷ ºÒ·¯ ¿Ã¼ö ÀÖ´Ù.
ÀÌÁ¦ soundLink ¿Í soundName ¹è¿¾È¿¡ ¿ì¸®°¡ ¿øÇÏ´Â µ¥ÀÌŸ°¡ ¸ðµÎ µé¾î°¬´Ù!!! ÀÌÁ¦ À̵¥ÀÌÅ͸¦ °¡Áö°í ±¹À»²úÀÌµç ¹äÀ» Áþµç ÇÏ¸é µÇ´Â°ÍÀÌ´Ù.
paht2 µµ À§ ¿Í °°Àº ¹æ½ÄÀ¸·Î µ¥ÀÌŸ¸¦ ¹è¿·Î ÀúÀåÇØ È°¿ëÇÏ¸é µÈ´Ù.
xpath´Â xml µ¥ÀÌŸ¸¦ ÆíÇÏ°í »ç¿ëÇϱ⠽±°Ô È°¿ëÇÒ¼ö ÀÖ°Ô²û ÇØÁÖ´Â ¾ÆÁÖ À¯¿ëÇÑ ¹æ½ÄÀÌ´Ù.
////////////////////////////////////////////////////ps
loadXml = new XML(); //»õ·Î xml·Î´õ¸¦ ¸¸µç´Ù.
loadXml.ignoreWhite = true; //xml ³»¿ëÀÇ °ø¹éÀ» ¹«½ÃÇÑ´Ù
loadXml.load("test.xml"); //·ÎµåÇÒ xml ÆÄÀÏÀÇ À§Ä¡
loadXml.onLoad=function(success:Boolean) {
.... À̱¸ÀýÀº ÇöÀÔ·ÂÈ¸é ³»¿¡¼ ¾î¶² À§Ä¡¿¡ ³öµÎµçÁö ½ºÅ©¸³Æ® ¼öÇà»ó °¡Àå ³ªÁß¿¡ ¼öÇàµÈ´Ù. ¶§¹®¿¡ xmlµ¥ÀÌŸ¸¦ È°¿ëÇÑ ´Ù¸¥ ¾×¼ÇÀ» ¿ÜºÎ¿¡¼ ¼öÇà ½ÃŲ´Ù¸é µ¥ÀÌŸ°¡ ·Îµå µÇ±âµµ Àü¿¡ ¼öÇàµÇ¹Ç·Î ´ç¿¬È÷ ½ÇÆÐÇÒ¼ö ¹Û¿¡ ¾ø´Ù.
¶§¹®¿¡ loadXml.onLoad¾È¿¡´Ù°¡ µ¥ÀÌŸ¸¦ È°¿ëÇÑ ¾×¼ÇÀ» ÀÛ¼ºÇÏ´ø°¡ ¾Æ´Ï¸é ¹è¿ÀÛ¾÷ÈÄ loadXml.onLoad ¹Û¿¡¼ ÀÛ¼ºµÇ¾î ÀÖ´Â ¾×¼ÇÀ» »ç¿ëÇÏ°Ú²û ÇØÁÖ¸é µÈ´Ù.
|
|
̵̧ : 761 |
̵̧
¸ñ·Ï
|
|
|  |
|