[Áöµð³ÝÄÚ¸®¾Æ]¸ÞŸ »çÀÌÆ®´Â ºí·Î±×¿¡ »õ·Ó°Ô ¾÷µ¥ÀÌÆ®µÈ ³»¿ëÀ» ´Ù¸¥ ºí·Î°Åµé¿¡°Ô ¾Ë·ÁÁÖ°í, ºí·Î°Å¿¡°Ô ´õ ¸¹Àº ºí·Î±ëÀ» ÇÒ ¼ö ÀÖ´Â ÀÏÁ¾ÀÇ Ç×ÇØÀÏÁö ¿ªÇÒÀ» ÇÏ´Â »çÀÌÆ®ÀÔ´Ï´Ù. °Å´ëÇÑ ³×Æ®¿öÅ©¿¡¼ ºí·Î±×µéÀ» ¼øÈ¸ÇÏ¸ç »õ·Ó°Ô ¾÷µ¥ÀÌÆ®µÈ ³»¿ëµéÀ» ã¾Æ³» ¾Ë·ÁÁÖ´Â ¸ÞŸ »çÀÌÆ®´Â °Å´ëÇÑ À¥ °Ë»ö ¿£ÁøÀÇ Ãà¼ÒÆÇÀ̶ó°í ºÎ¸£±â¿¡ ¾Ë¸ÂÁö¿ä.
À̹ø ¿¬À縦 ÅëÇØ ÀÌ·¯ÇÑ ºí·Î±× Á¤º¸¸¦ ¼öÁýÇÏ´Â ¸ÞŸ »çÀÌÆ®¸¦ °³¹ßÇÏ´Â °úÁ¤¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
¡®»ç¶÷ÀÌ ¸ðÀÌ´Â Àå¼Ò¿¡´Â ÀåÅͰ¡ »ý±â°í, ºí·Î°ÅµéÀÌ ¸ðÀÌ´Â °÷¿¡´Â ¸ÞŸ »çÀÌÆ®°¡ »ý°Ü³´Ù¡¯´Â Á¤Ã¼ºÒ¸íÀÇ ¸í¾ð(?)¿¡¼ º¼ ¼ö ÀÖµí, ¸ÞŸ »çÀÌÆ®´Â ºí·Î°Åµé¿¡°Ô ¾ÆÁÖ Áß¿äÇÑ Ä¿¹Â´ÏÄÉÀÌ¼Ç ¼ö´ÜÀÌ µÇ°í ÀÖ½À´Ï´Ù. ¸ÞŸ »çÀÌÆ®´Â ºí·Î±×¿¡¼ Áö¿øÇÏ´Â RSS Á¤º¸·ÎºÎÅÍ ¸ÞŸ Á¤º¸¸¦ ÀÐ¾î¼ Á¾ÇÕÀûÀÎ ºí·Î±×ÀÇ ¼Ò½ÄÀ» ÀüÇØÁشٴ Àǹ̷Π¸ÞŸ »çÀÌÆ®¶ó ºÒ¸³´Ï´Ù. ÇÏÁö¸¸ °³ÀÎÀûÀ¸·Î´Â ±×¿Í ºñ½ÁÇÑ Àǹ̸¦ °¡Áö°í ÀÖ´Â ºí·Î±× ¼¾ÅͶó´Â Á» ´õ Á÷°üÀûÀÎ ´Ü¾î¸¦ ÁÁ¾ÆÇÕ´Ï´Ù.
ÀÌ·¯ÇÑ ¸ÞŸ »çÀÌÆ®ÀÇ ÀÛµ¿ ¹æ½ÄÀº ¸¶Ä¡ ÀÛÀº Å©±â·Î ÁÙ¿©³õÀº °Ë»ö ¿£Áø »çÀÌÆ®¿Íµµ ºñ½ÁÇÏ°Ô »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̹ø ½Ã°£¿¡´Â ¸ÞŸ »çÀÌÆ®¿¡ ´ëÇÑ ¼Ò°³¿Í ¸ÞŸ »çÀÌÆ®¿Í ¼öÁý ·Îº¿ ±¸¼º, ±×¸®°í ¼öÁý ·Îº¿¿¡ ´ëÇÑ ¿©·¯ °¡Áö ¹æ¹ýµé¿¡ ´ëÇØ¼ À̾߱âÇØ º¸°íÀÚ ÇÕ´Ï´Ù.
ºí·Î±×ÀÇ Á¤º¸¸¦ ¼öÁýÇÏ´Â ·Îº¿
¸ÞŸ »çÀÌÆ®¿¡¼ ºí·Î±×ÀÇ ÃֽŠÁ¤º¸¸¦ ¾Ë¾Æ³»±â À§Çؼ´Â ¿ì¼± ºí·Î±×¿Í ¸ÞŸ »çÀÌÆ®°£¿¡ µ¥ÀÌÅÍ ±³È¯À» À§ÇÑ ¹æ½ÄÀÌ ÇÊ¿äÇÏ°Ô µË´Ï´Ù. °Ë»ö ¿£Áø¿¡¼ »ç¿ëÇÏ´Â °Ë»ö ·Îº¿ÀÇ °æ¿ì ÀÌ¹Ì À¥À̶ó´Â ¸Åü°¡ ¿À·¡µÈ HTML ¹æ½ÄÀ¸·Î ±¸¼ºµÇ¾î ÀÖ¾ú±â ¶§¹®¿¡ ±×¿¡ ¸Â´Â °Ë»öÀÌ °¡´ÉÇϵµ·Ï ·Îº¿À» ¼³°èÇß½À´Ï´Ù.
ÇÏÁö¸¸ ºí·Î±×ÀÇ °æ¿ì ºí·Î±×ÀÇ ³»¿ëÀ» ¼Õ½±°Ô ÀÐÀ» ¼ö ÀÖ´Â ÆÄÀÏ ±Ô¾àÀ» Áö¿øÇϰí ÀÖÀ¸¸ç ±×·¯ÇÑ ±Ô¾à Áß ´ëÇ¥ÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â °ÍÀÌ ¹Ù·Î RSSÀÔ´Ï´Ù. ´öºÐ¿¡ ¿ì¸®°¡ ¸¸µé°íÀÚ ÇÏ´Â ·Îº¿Àº ´Ü¼øÈ÷
XML Çü½ÄÀ¸·Î µÇ¾î ÀÖ´Â ÀÌ RSS ÆÄÀÏÀ» ÀÚÀ¯·Ó°Ô Àаí ÇØ¼®ÇÒ ¼ö ÀÖÀ¸¸é ¼Õ½±°Ô ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
°Ë»ö ·Îº¿°ú ´Ù¸¥ Á¡À̶ó¸é ÀÎÅͳݿ¡ ¶°µµ´Â ¸¹Àº À¥ ÆäÀÌÁöµé Àüü¸¦ ´ë»óÀ¸·Î ÇÏÁö ¾Ê´Â´Ù´Â Á¡ÀÔ´Ï´Ù. ÀÎÅͳݿ¡ ÀÖ´Â ÇϳªÀÇ ¹®¼, ÀÚ·áµéµµ °¢ÀÚÀÇ ÀúÀÛ±ÇÀÌ ÀÖ´Â ÀúÀÛ¹°À̸ç À̸¦ ÇԺηΠ¼öÁýÇØ¼´Â ¾È µÈ´Ù´Â °ÍÀÔ´Ï´Ù. ¹°·Ð ÀÌ¹Ì ÀÌ¿ëµÇ°í ÀÖ´Â °Ë»ö ¿£ÁøÀº À̸¦ °£´ÜÈ÷ °Ë»ö °ÅºÎÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Áö¿øÇÑ´Ù´Â ¸í¸ñ ÇÏ¿¡ ´ëºÎºÐÀÇ À¥ »çÀÌÆ®¿¡¼ Á¤º¸¸¦ ¼öÁýÇϰí ÀÖÁö¸¸, ÃÖ±Ù ÀÌ·¯ÇÑ °Ë»ö ¿£ÁøÀÇ ¹«ºÐº°ÇÑ ÀÚ·á ¼öÁýÀ¸·Î ÀÎÇÑ °³ÀÎ Á¤º¸ ³ëÃâ µîÀÇ ¹®Á¦Á¡À» º¸´õ¶óµµ ÀÌ·¯ÇÑ ¹®Á¦´Â ½ÅÁßÈ÷ »ý°¢ÇØ¾ß ÇÑ´Ù°í »ý°¢ÇÕ´Ï´Ù.
¸ÞŸ »çÀÌÆ®¿¡¼´Â ÀÌ·¯ÇÑ ÀÌÀ¯·Î »çÀÌÆ®¿¡¼ °¡ÀԵǾî ÀÖ´Â ºí·Î±×ÀÇ Á¤º¸¸¸À» ¼öÁýÇÏ¸ç ¾ðÁ¦µç ¼öÁýÀ» ¿øÇÏÁö ¾Ê´Â °Ô½Ã¹°¿¡ ´ëÇØ¼ ¼öÁýÀ» °ÅºÎÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¹°·Ð ¼öÁýµÇ´Â ºí·Î±×ÀÇ ¹üÀ§¸¦ Áö±ÝÀÇ °Ë»ö ¿£ÁøÃ³·³ °Å´ëÇÑ ÀÎÅÍ³Ý Àüü·Î È®´ëÇÑ´Ù¸é ¾ÕÀ¸·Î À¥ »çÀÌÆ®º¸´Ù ´õ ¸¹Àº ÄÁÅÙÃ÷¸¦ º¸À¯ÇÏ°Ô µÉ ºí·Î±×ÀÇ °Ë»ö ¿£ÁøÀ¸·Î½á Ȱ¾àÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖÁö ¾ÊÀ»±î ÇÕ´Ï´Ù.
RSS ÆÄÀÏÀ» Á¤º¹ÇÏÀÚ
ºí·Î±×ÀÇ Á¤º¸ ¼öÁý¿¡ ÀÖ¾î¼ °¡Àå Áß¿äÇÑ ³»¿ë Áß ÇϳªÀÎ RSS¿¡ ´ëÇØ À̾߱âÇØ º¸µµ·Ï ÇսôÙ. ÀÌ RSS´Â ¾Ë°í ÀÖ´Â °Í°ú °°ÀÌ ºí·Î±×ÀÇ Á¤º¸¿Í ÃÖ±Ù µî·ÏµÈ ±ÛµéÀÇ Á¤º¸°¡ Æ÷ÇԵǾî ÀÖ´Â XML ÆÄÀÏÀÔ´Ï´Ù.
| <¸®½ºÆ® 1> RSS ÆÄÀÏÀÇ ±¸Á¶ | | | |
<?xml version="1.0" encoding="euc-kr" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>ÇÏ´ÃÀÌÀÇ »ý°¢³ª¹«</title>
<link>http://www.in1983.com</link>
<description>»ç¶ûÇÏ´Â ÁÖ¿µÀÌ¿Í ¾ËÄá´ÞÄá À̾߱â</description>
<item>
<title>¸Ó¸®¼Ó °¡ºñÁö Ä÷ºÅÍ ÆÄ¿ö ¿Â!!</title>
<link>http://php.chol.com/~ppk314/tt/index.php?pl=386</link>
<description> ±ÛÀÇ ³»¿ëÀÌ µé¾î°¡³ª, »ý·«ÇÔ </description>
<pubDate>Tue, 19 Oct 2004 23:54:00 GMT</pubDate>
</item>
...
<item>ÀÇ ¹Ýº¹
...
</channel>
</rss>
| |
 |
ÀÌ RSS ÆÄÀÏÀº rss¶ó´Â ·çÆ® ¿¤¸®¸ÕÆ®·Î ½ÃÀ۵˴ϴÙ. ±×¸®°í ä³ÎÀ̶ó´Â ÇÏÀ§ ¿¤¸®¸ÕÆ®¸¦ °¡Áö°í ÀÖ´Â À̰÷¿¡ ºí·Î±×ÀÇ ´ëÇÑ Á¤º¸µé(ºí·Î±×ÀÇ À̸§, ÁÖ¼Ò, ¼³¸í, ±âŸ Á¤º¸µé)ÀÌ Æ÷ÇԵ˴ϴÙ. ±×¸®°í ¿©·¯ °³ÀÇ ¾ÆÀÌÅÛ ¿¤¸®¸ÕÆ®µéÀ» Æ÷ÇÔÇϰí Àִµ¥, À̵éÀÌ ¹Ù·Î ºí·Î±×ÀÇ ±Û¿¡ ´ëÇÑ Á¤º¸¸¦ ´ã°í ÀÖ½À´Ï´Ù.
¸ÞŸ »çÀÌÆ®¿¡¼ ÇÊ¿äÇÑ Á¤º¸´Â ´ëºÎºÐ ¾ÆÀÌÅÛ ¿¤¸®¸ÕÆ®¿¡ ÀÖÀ¸´Ï ¾ÆÀÌÅÛ ¿¤¸®¸ÕÆ®ÀÇ ±¸Á¶¿¡ ´ëÇØ¼ ÀÚ¼¼È÷ »ìÆìº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
 |
| <±×¸² 1> RSS ÆÄÀÏÀÇ ±¸Á¶ - itemµéÀÇ ±¸¼º |
<±×¸² 1>À» º¸¸é RSS ÆÄÀÏÀÇ ±¸Á¶¿¡ ¾ÆÀÌÅÛµéÀÇ ±¸¼ºÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ¾ÆÀÌÅÛ¿¡ ÀÖ´Â °¢°¢ÀÇ ¿¤¸®¸ÕÆ®µéÀº <Ç¥ 1>°ú °°Àº Àǹ̸¦ °¡Áö°í ÀÖ½À´Ï´Ù.
 |
| <Ç¥ 1> RSS ÆÄÀÏÀÇ ¿¤¸®¸ÕÆ®µéÀÇ ÀÇ¹Ì |
ÀÌ·¯ÇÑ ¿¤¸®¸ÕÆ®ÀÇ À̸§µéÀº RSS ¹öÀü¿¡ µû¶ó¼ ¾à°£ÀÇ Â÷À̵éÀÌ ÀÖÀ¸¸ç <Ç¥ 1>¿¡ Ç¥½ÃÇÑ ¸î °¡Áö Á¾·ùÀÇ ¿¤¸®¸ÕÆ® À̿ܿ¡µµ ¸¹Àº Á¾·ùÀÇ ¿¤¸®¸ÕÆ®µéÀÌ Á¸ÀçÇÏ°Ô µË´Ï´Ù. ±×¸®°í ÀÌ¹Ì ¿©·¯ Á¾·ùÀÇ ºí·Î±× ÅøµéÀÌ °³¹ßµÇ¾î ÀÖ°í, °¢ÀÚ Á¶±Ý¾¿ ´Ù¸¥ ¿¤¸®¸ÕÆ®¸¦ Á¶ÇÕÇÏ¿© »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
| <¸®½ºÆ® 2> °¢°¢ ´Ù¸¥ À̸§ÀÇ ¿¤¸®¸ÕÆ®¸¦ »ç¿ëÇÏ´Â item ¿¤¸®¸ÕÆ®µé | | | |
<item>
<title>¸Ó¸®¼Ó °¡ºñÁö Ä÷ºÅÍ ÆÄ¿ö ¿Â!!</title>
<link>http://php.chol.com/~ppk314/tt/index.php?pl=386</link>
<description> ±ÛÀÇ ³»¿ëÀÌ µé¾î°¡³ª, »ý·«ÇÔ </description>
<pubDate>Tue, 19 Oct 2004 23:54:00 GMT</pubDate>
</item>
<item>
<title>¸Ó¸®¼Ó °¡ºñÁö Ä÷ºÅÍ ÆÄ¿ö ¿Â!!</title>
<link>http://php.chol.com/~ppk314/tt/index.php?pl=386</link>
<description> ±ÛÀÇ ³»¿ëÀÌ µé¾î°¡³ª, »ý·«ÇÔ </description>
<pubDate>2004-10-19 23:54:00</pubDate>
<author>ÇÏ´ÃÀÌ</author>
</item>
<item>
<title>¸Ó¸®¼Ó °¡ºñÁö Ä÷ºÅÍ ÆÄ¿ö ¿Â!!</title>
<link>http://php.chol.com/~ppk314/tt/index.php?pl=386</link>
<description> ±ÛÀÇ ³»¿ëÀÌ µé¾î°¡³ª, »ý·«ÇÔ </description>
<dc:date>2004-10-19T23:54:00+09:00</dc:date>
<dc:creator>ÇÏ´ÃÀÌ</dc:creator>
</item>
| |
 |
°¢°¢ÀÇ ºí·Î±× Åø¸¶´Ù ´Ù¸¥ ¿¤¸®¸ÕÆ® À̸§À» »ç¿ëÇϰí ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ¸ÞŸ »çÀÌÆ®ÀÇ RSS ¼öÁý ·Îº¿ÀÌ ±×·¯ÇÑ RSSÀÇ ¸ðµç ű×ÀÇ Á¤º¸°¡ ÇÊ¿äÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. ¸ÞŸ »çÀÌÆ®¿¡¼ ÇÊ¿äÇÑ ÀϺΠÁ¤º¸µé¸¸À» »ç¿ëÇÏ°Ô µÇ¹Ç·Î <Ç¥ 1>¿¡¼ Á¤¸®ÇÑ Á¤µµÀÇ Á¤º¸µé¸¸À» ¼öÁýÇÏ¸é µË´Ï´Ù.
ÇÏÁö¸¸ ¿©±â¼ ¹®Á¦°¡ ¹ß»ýÇÏ°Ô µÇ´Âµ¥, °ú¿¬ °¢±â ´Ù¸¥ ¿¤¸®¸ÕÆ®µéÀÇ Á¶ÇÕÀ¸·Î µÇ¾î ÀÖ´Â RSS ÆÄÀϵéÀ» ¾î¶»°Ô ó¸®ÇÏ¸é µÉ±î¿ä? °¢ ºí·Î±× ÅøÀÇ Á¾·ùº°·Î ¾à°£ ´Ù¸¥ ¹æ½ÄÀ¸·Î RSS ÆÄÀÏÀ» ÀоîµéÀÌ´Â ¹æ¹ýÀ» °¡Àå ù ¹øÂ°·Î »ý°¢Çغ¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
ÇÏÁö¸¸ ±×·² °æ¿ì Àß ¾Ë·ÁÁöÁö ¸øÇؼ RSS ±¸Á¶ÀÇ Á¤º¸¸¦ Àß ¸ð¸£°í ÀÖ´ø ºí·Î±×µéÀÇ °æ¿ì¿¡´Â ¾î¶² ¹æ½ÄÀ¸·Î ó¸®ÇÒ±î¿ä? ¹Ù·Î ÀÌ·¯ÇÑ ¹®Á¦µéÀ» ÇØ°áÇϱâ À§Çؼ °¡Àå È¿°úÀûÀÎ ¹æ¹ýÀ¸·Î ¿©·¯ °¡Áö ¿¤¸®¸ÕÆ®¸¦ µ¿½Ã¿¡ Áö¿øÇÏ´Â ¹æ½ÄÀ» »ç¿ëÇϰíÀÚ ÇÕ´Ï´Ù.
¿¹¸¦ µé¾î pubDate¿Í Àǹ̰¡ ºñ½ÁÇÑ dc:date¿Í author´Â dc:creator¿Í °°Àº ¿¤¸®¸ÕÆ®·Î °£ÁÖÇϰí ó¸®ÇÏ´Â ¹æ½ÄÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© ¸ðµç Á¾·ùÀÇ RSS ÆÄÀÏ¿¡¼ ÇÊ¿äÇÑ ³»¿ëµé·Î Á¤¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ RSS ÆÄÀÏÀÇ Ã³¸®¸¦ À§Çؼ RSS ¾ÆÀÌÅÛ ÇÑ °³¸¦ Ç¥ÇöÇÏ´Â ¾ÆÀÌÅÛ Å¬·¡½º¿Í ±×·¯ÇÑ ¾ÆÀÌÅÛµéÀ» ÁýÇÕÀ» Ç¥ÇöÇÒ Ä÷º¼Ç Ŭ·¡½º, ±×¸®°í XML ÆÄÀϷκÎÅÍ À̵éÀÇ Å¬·¡½º¸¦ »ý¼ºÇÏ´Â RSS ¸®´õ Ŭ·¡½º¸¦ °¢°¢ ±¸ÇöÇÏ¿© º¸µµ·Ï ÇϰڽÀ´Ï´Ù. RSS ¾ÆÀÌÅÛ Å¬·¡½ºÀÇ °æ¿ì <Ç¥ 1>¿¡ ³ª¿Í ÀÖ´Â ³»¿ëµéÀ» ±â¾ïÇÏ´Â °£´ÜÇÑ Å¬·¡½ºÀ̱⠶§¹®¿¡ ±×´ÙÁö ±¸Çö¿¡ Å« ¾î·Á¿òÀº ¾ø½À´Ï´Ù.
Public Class RSSItem
Public Title As String
Public Link As String
Public Author As String
Public Description As String
Public PubDate As Date
End Class
¸â¹ö º¯¼öµé À̸§À¸·Î´Â RSS ÆÄÀÏÀÇ ¿¤¸®¸ÕÆ® À̸§°ú µ¿ÀÏÇÏ°Ô Ã³¸®Çß½À´Ï´Ù. Áö¸é»ó °£´ÜÇÑ ¹æ½ÄÀ¸·Î ÁÙ¿´À¸³ª, º¯¼öµéÀº ÇÁ¶óÀ̺ñÆ®(Private)·Î ¼±¾ðÇϰí, ÆÛºí¸¯(Public)À¸·Î ¼±¾ðµÈ ÇÁ·ÎÆÛƼµéÀ» »ç¿ëÇÏ¿© ó¸®ÇÏ´Â ¹æ½ÄÀ¸·Î ±¸ÇöÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÌ Å¬·¡½º´Â ³¯Â¥ ó¸® µîÀ» À§Çؼ ´ÙÀ½ ±Û¿¡¼ ¼öÁ¤ÇÒ ¿¹Á¤ÀÌ´Ï, ¿ì¼±Àº ÀÌ´ë·Î »ç¿ëÇϱâ·Î ÇϰڽÀ´Ï´Ù.
RSSÀÇ ¾ÆÀÌÅÛ Çϳª¸¦ ÀúÀåÇϴ Ŭ·¡½º¸¦ ¸¸µé¾úÀ¸´Ï, ±×·¯ÇÑ ´Ù¼öÀÇ ¾ÆÀÌÅÛµéÀ» ÆíÇÏ°Ô Á¢±ÙÇÒ ¼ö ÀÖ´Â Ä÷º¼Ç Ŭ·¡½º¸¦ ¸¸µé¾îº¸µµ·Ï ÇսôÙ. ´å³Ý ÇÁ·¹ÀÓ¿öÅ©¿¡¼´Â °£´ÜÇÏ°Ô °·ÂÇÑ Ä÷º¼ÇÀ» ±¸ÇöÇÒ ¼ö ÀÖ´Â CollectionBase Ãß»ó Ŭ·¡½º¸¦ Áö¿øÇϰí ÀÖ½À´Ï´Ù.
MustInherit Public Class CollectionBase
Implements IList, ICollection, IEnumerable
¿ì¸®°¡ ¸¸µé¾ú´ø RSSItem Ä÷º¼Ç Ŭ·¡½º´Â ¹Ù·Î ÀÌ Ãß»ó Ŭ·¡½º¸¦ »ó¼Ó¹Þ¾Æ ¸¸µé°Ô µË´Ï´Ù. CollectionBase¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ´å³Ý ÇÁ·¹ÀÓ¿öÅ© SDK ¼³¸í¼¸¦ Âü°íÇÏ±æ ¹Ù¶ø´Ï´Ù. ÀÌ Ãß»ó Ŭ·¡½º¸¦ »ó¼Ó¹Þ¾Æ¼ °£´ÜÇÏ°Ô RSSItemµéÀ» Ãß»óÈÇϴ Ŭ·¡½º¸¦ ¸¸µé¾îº¸µµ·Ï ÇϰڽÀ´Ï´Ù. ÀÌ Å¬·¡½º¿¡´Â ¿ì¸®°¡ Ä÷º¼Ç Ŭ·¡½º¿¡¼ ÈçÈ÷ »ç¿ëÇÏ´Â ¸â¹ö º¯¼öµéµµ °°ÀÌ ±¸ÇöÇϵµ·Ï ÇϰڽÀ´Ï´Ù.
| <¸®½ºÆ® 3> RSSItemCollection Ŭ·¡½º | | | |
Public Class RssItemCollection
Inherits CollectionBase
Default Public Property Item(ByVal index As Integer) As RssItem
Get
Return CType(list(index), RssItem)
End Get
Set(ByVal Value As RssItem)
list(index) = Value
End Set
End Property
' »ðÀÔ, °Ë»ö, »èÁ¦ µîÀÇ ¸Þ½îµå
Public Function Add(ByVal itemObject As RssItem) As Integer
Return list.Add(itemObject)
End Function
Public Function IndexOf(ByVal itemObject As RssItem) As Integer
Return list.IndexOf(itemObject)
End Function
Public Sub Insert(ByVal index As Integer, ByVal itemObject As RssItem)
list.Insert(index, itemObject)
End Sub
Public Sub Remove(ByVal itemObject As RssItem)
list.Remove(itemObject)
End Sub
Public Function Contains(ByVal index As Integer, ByVal itemObject As RssItem) As Boolean
Return list.Contains(itemObject)
End Function
End Class
| |
 |
ÀÌÁ¦ ³²Àº °ÍÀº RSS ÆÄÀϷκÎÅÍ µ¥ÀÌÅ͸¦ ÀÐ¾î¼ À̵éÀÇ Å¬·¡½º¸¦ ¹ÝÈ¯ÇØÁÖ´Â RSS ¸®´õ Ŭ·¡½º¸¦ ¸¸µå´Â °ÍÀÔ´Ï´Ù. À̹ø È£¿¡¼´Â ³×Æ®¿öÅ©ÀÇ XML ÆÄÀÏ¿¡µµ ÆíÇÏ°Ô Á¢±ÙÇÒ ¼ö ÀÖ´Â XmlTextReader Ŭ·¡½º¸¦ ÀÌ¿ëÇϵµ·Ï ÇϰڽÀ´Ï´Ù. XML ÆÄÀÏ Ã³¸®¿¡´Â ´Ù¾çÇÑ ¹æ¹ýµéÀÌ ÀÖÀ¸´Ï Àڽſ¡°Ô Æí¸®ÇÑ ¹æ¹ýÀ» ¼±ÅÃÇÏ¿© ±¸ÇöÇÏ¸é µË´Ï´Ù.
| <¸®½ºÆ® 4> RSSReader Ŭ·¡½º | | | |
Public Class RSSReader
Private xmlUrl As String
Private rssItems As RssItemCollection
Public Sub New()
rssItems = New RssItemCollection
End Sub
Public Sub New(ByVal xmlAddress As String)
Me.New()
xmlUrl = xmlAddress
End Sub
Public Property Items() As RssItemCollection
Get
Return rssItems
End Get
Set(ByVal Value As RssItemCollection)
rssItems = Value
End Set
End Property
Public Property XmlAddress() As String
Get
Return xmlUrl
End Get
Set(ByVal Value As String)
xmlUrl = Value
End Set
End Property
Private Function findValue(ByVal rssXML As XmlTextReader) As String
Try
While (True)
rssXML.Read()
If (rssXML.NodeType = XmlNodeType.CDATA) Or (rssXML.NodeType = XmlNodeType.Text) Then
Return rssXML.Value
ElseIf (rssXML.NodeType = XmlNodeType.EndElement) Then
Return ""
End If
End While
Catch ex As Exception
Return ""
End Try
End Function
Public Sub readItems()
rssItems.Clear()
Dim isInItem As Boolean
Dim rssXML As XmlTextReader
Dim tempItem As RSSItem
Try
rssXML = New XmlTextReader(xmlUrl)
While rssXML.Read()
Select Case rssXML.NodeType
Case XmlNodeType.Element
If rssXML.Name = "item" Then
tempItem = New RSSItem
isInItem = True
ElseIf isInItem Then
Select Case rssXML.Name.ToLower
Case "title"
tempItem.Title = findValue(rssXML)
Case "link"
tempItem.Link = findValue(rssXML)
Case "author", "dc:creator"
tempItem.Author = findValue(rssXML)
Case "pubdate", "dc:date"
tempItem.PubDate = findValue(rssXML)
Case "description"
tempItem.Description = findValue(rssXML)
End Select
End If
Case XmlNodeType.EndElement
If rssXML.Name = "item" Then
isInItem = False
rssItems.Add(tempItem)
End If
End Select
End While
rssXML.Close()
Catch ex As Exception
rssItems.Clear()
Finally
rssXML = Nothing
End Try
End Sub
End Class
| |
 |
<¸®½ºÆ® 4>ÀÇ ¸î °³ÀÇ ¸Þ½îµå¸¦ °£´ÜÇÏ°Ô ¼³¸íÇÏÀÚ¸é, findValue´Â XMLTextReader·ÎºÎÅÍ µ¥ÀÌÅ͸¸À» ã¾Æ¼ ¹ÝÈ¯ÇØ ÁÝ´Ï´Ù. µ¥ÀÌÅÍÀÇ °æ¿ì ÅØ½ºÆ® Çü½ÄÀ̳ª CDATA Çü½ÄÀ¸·Î ÁöÁ¤Çϴµ¥ ÀÌ·¯ÇÑ Çü½Ä ¶ÇÇÑ RSS ÆÄÀϸ¶´Ù °¢±â ´Ù¸¥ ¹æ¹ýÀ» »ç¿ëÇϰí ÀÖ¾î¼ Æí¸®ÇÏ°Ô µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö ÀÖµµ·Ï ±¸ÇöÇß½À´Ï´Ù.
ReadItems ¸Þ½îµå°¡ ¿ì¸®°¡ ÇϰíÀÚ Çß´ø XML ÆÄÀϷκÎÅÍ µ¥ÀÌÅ͸¦ ÀоîµéÀÌ´Â ÀÌ Å¬·¡½º¿¡¼ °¡Àå Áß½ÉÀÌ µÇ´Â ÀÛ¾÷À» ¼öÇàÇÏ°Ô µË´Ï´Ù. °£´ÜÇÏ°Ô XML ÆÄÀÏÀ» ÀÐÀ¸¸ç ¿¤¸®¸ÕÆ®ÀÇ ½ÃÀÛ ºÎºÐ¿¡¼ ¾ÆÀÌÅÛ ¿¤¸®¸ÕÆ®°¡ ½ÃÀ۵Ǵ °æ¿ì »õ·Î¿î RSSItemÀÇ ÀνºÅÏÆ®¸¦ »ý¼ºÇØÁÖ°í, ÀÌÈÄ ¾ÆÀÌÅÛ ¿¤¸®¸ÕÆ®ÀÇ °¢°¢ÀÇ ¿¤¸®¸ÕÆ®µéÀ» µ¹¸ç °ªÀ» Àоî ÀúÀåÇϰí, ¾ÆÀÌÅÛ ¿¤¸®¸ÕÆ®°¡ ³¡³ª¸é Ä÷º¼Ç Ŭ·¡½º¿¡ ³Ö¾îÁÖ°Ô µË´Ï´Ù. ÀÌ·¸°Ô ¸¸µé¾îÁø Ŭ·¡½ºµéÀº ´ÙÀ½°ú °°ÀÌ »ç¿ëÇØº¼ ¼ö ÀÖ½À´Ï´Ù.
Dim myRss As New RSSReader("http://php.chol.com/~ppk314/tt/index.xml")
myRss.readItems()
If myRss.Items.Count > 0 Then
Console.WriteLine("ù¹øÂ° ±ÛÀÇ Á¦¸ñ : " + myRss.Items(0).Title)
End If
³×Æ®¿öÅ©¿¡¼ µ¥ÀÌÅͺ£À̽º±îÁö
ÀÌ·¸°Ô ÇØ¼ ¸ðµç Á¾·ùÀÇ RSS ÆÄÀÏÀ» ÀÐÀ» ¼ö Àִ Ŭ·¡½º°¡ ÁغñµÆ½À´Ï´Ù. ÀÌÁ¦ ³²Àº °Ç RSS ÆÄÀϵéÀ» Àаí, ±×°ÍÀ» µ¥ÀÌÅͺ£À̽º¿¡ Á¤¸®ÇÏ´Â ÀÛ¾÷ÀÔ´Ï´Ù.
°£´ÜÈ÷ ³×Æ®¿öÅ©¿Í µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ¼ »ý°¢ÇÏ¿© º¸°Ú½À´Ï´Ù. RSS ¼öÁý ·Îº¿Àº ºÐ¸í ºí·Î±×µéÀ» ¶°µ¹¸ç »õ·Î¿î Á¤º¸µéÀ» µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇÏ´Â ÀÛ¾÷À» °ÅÄ¡°Ô µË´Ï´Ù. ±×·¸´Ù¸é °ú¿¬ ¾î¶² ¹æ½ÄÀ¸·Î ºí·Î±×ÀÇ RSS ÆÄÀÏÀÌ ¾÷µ¥ÀÌÆ®µÇ¾ú´Ù´Â Á¤º¸¸¦ ¾Ë ¼ö ÀÖÀ»±î¿ä? ±×¸®°í ÀÐÀº RSS ÆÄÀÏÀÇ ³»¿ë Áß ¾î¶»°Ô »õ·Î Ãß°¡µÈ ³»¿ëÀ» ã¾Æ ±× ºÎºÐ¸¸ µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇÒ ¼ö ÀÖÀ»±î¿ä?
À¥ °Ë»ö ¿£ÁøÀÇ ÇÙ½ÉÀÌ ÀÌ·¸°Ô ¼öÁýÇÏ´Â ¹æ¹ý°ú Á¤¸®ÇÏ¿© ÀúÀåÇÏ´Â ¹æ½ÄÀÌ Å« ÇÙ½É Áß Çϳª¶ó°í ¸»ÇÑ °Í°ú °°ÀÌ ÀÌ ºÎºÐ¿¡¼ ¸¹Àº »ý°¢°ú ¾ÆÀ̵ð¾îµéÀ» ¶°¿Ã·Á º¼ ¼ö ÀÖ½À´Ï´Ù.
¿ì¼± RSS ·Îº¿ÀÌ ¾÷µ¥ÀÌÆ®µÈ Á¤º¸¸¦ ¾î¶»°Ô ¾Ë ¼ö ÀÖ´ÂÁö´Â HTTP ÇÁ·ÎÅäÄÝ Çì´õ¿¡ If-Modified-Since Çʵ带 »ç¿ëÇÏ¿© ¿äûÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Çʵ忡 ÀÏÁ¤ ½Ã°£ ÀÌÈÄ¿¡ ¼öÁ¤µÇ¾î ÀÖ´ÂÁö ¿©ºÎ¿¡ µû¶ó¼ ¼öÁ¤µÇ¾ú´Ù¸é Á¤»óÀûÀ¸·Î XML ÆÄÀÏÀ» ¹ÝȯÇÒ °ÍÀ̸ç, ¸¸¾à ¼öÁ¤µÇÁö ¾ÊÀº »óŶó¸é 304 Not Modified ÀÀ´äÀ» µ¹·ÁÁÖ°Ô µË´Ï´Ù. ÀÌ °á°ú¸¦ ÅëÇØ ù ¹øÂ°·Î ¼¹ö¿¡¼ RSS ÆÄÀÏÀÌ ¼öÁ¤µÇ¾ú´ÂÁö¸¦ È®ÀÎÇÏ°í ÆÄÀÏÀ» Àоî¿Â´Ù¸é ³×Æ®¿öÅ©ÀÇ Æ®·¡ÇÈ °¨¼Ò´Â ¹°·Ð Á» ´õ È¿À²ÀûÀΠ󸮸¦ ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
±×¸®°í ÀÌÁ¦ XML ÆÄÀÏÀ» ÀÐ°í µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇÏ°Ô µË´Ï´Ù. ÇÏÁö¸¸ RSS ÆÄÀÏ¿¡´Â »õ·Ó°Ô ÀúÀåµÈ ±ÛÀÇ ³»¿ë¸¸À» Æ÷ÇÔÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÃÖ±Ù ¸î °³ÀÇ ±ÛÀ» Æ÷ÇÔÇϰí Àֱ⠶§¹®¿¡ ÀÌ¹Ì ÀÌÀü¿¡ µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåµÇ¾î ÀÖ´Â ³»¿ëÀ» ¶Ç´Ù½Ã ÀúÀåÇÏ´Â ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¹®Á¦´Â ÇØ´ç ±ÛÀÇ ¸µÅ©´Â À¯ÀÏÇÏ´Ù´Â °¡Á¤À» ³»·Á¼ ½±°Ô ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇÒ ¶§ÀÇ ±ÛÀÇ ±âÁØÀº ¸µÅ©¶ó´Â °ÍÀÔ´Ï´Ù. µ¥ÀÌÅͺ£À̽º¿¡ °°Àº ¸µÅ© °ªÀ» °¡Áø ±ÛÀÌ ÀÖ´Ù¸é ÀÌ¹Ì ÀúÀåµÇ¾î ÀÖÀ¸¹Ç·Î ³Ñ¾î°¡°í, ÀúÀåµÇ¾î ÀÖÁö ¾ÊÀº ±Ûµé¸¸ ÀúÀåÇÏ¸é µË´Ï´Ù.
À̿ܿ¡µµ ÀÌÀü¿¡ RSS ÆÄÀÏÀÇ Á¤º¸¸¦ ÀÌ¹Ì µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇß´Ù°í °¡Á¤Çϰí ÃÖ±Ù 1°³ÀÇ Á¤º¸¸¸À» ¾÷µ¥ÀÌÆ®ÇÏ´Â ¹æ¹ýµµ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¼ö½Ã·Î RSS ÆÄÀÏÀÇ º¯°æ ¿©ºÎ¸¦ üũÇϴµ¥ ÀÌ ½Ã°£ °£°Ý ³»¿¡ µ¿½Ã¿¡ ¿©·¯ °³ÀÇ ±ÛÀ» ¿Ã¸®Áö ¾Ê´Â´Ù´Â °¡Á¤ ÇÏ¿¡ »ç¿ëµÉ ¼ö ÀÖ´Â ¹æ¹ýÀÔ´Ï´Ù. ±×¹Û¿¡ ¼º´ÉÀ» °í·ÁÇÑ ¿©·¯ °¡Áö ¹æ¹ýµéÀÌ ÀÖÀ» ¼ö ÀÖÀ¸¸ç ±×·¯ÇÑ ¹æ¹ýµé¿¡ ´ëÇÑ »ý°¢Àº ÀÌ ±ÛÀ» Àд ¿©·¯ºÐµé²² ¸Ã±âµµ·Ï ÇϰڽÀ´Ï´Ù.
| |
|
ÇѶ§ ÀÎÅͳݿ¡ ÀÖ´Â °Ô½ÃÆÇ¿¡ ÀÚµ¿À¸·Î ±¤°í ±ÛÀ» µî·ÏÇØÁÖ´Â ½ºÆÔ ÇÁ·Î±×·¥ÀÌ ¶°µ¹¸é¼ ¸¹Àº °Ô½ÃÆÇ °ü¸®ÀÚµé°ú °Ô½ÃÆÇ ÇÁ·Î±×·¡¸ÓµéÀ» °ñÄ¡ ¾ÆÇÁ°Ô ÇßÁö¸¸, ÀÌÁ¦´Â ºí·Î±×±îÁö ÀÌ·¯ÇÑ ½ºÆÔÀÇ »ç¾ÇÇÑ ±â¿îµéÀÌ ¼ÕÀ» »¸°í ÀÖ½À´Ï´Ù. ÀÌÁß¿¡´Â ºí·Î±×ÀÇ Æ®·¢¹é ±â´ÉÀ» »ç¿ëÇÏ¿© ±¤°í ³»¿ëÀÇ ÆäÀÌÁö¸¦ ¸¹Àº ºí·Î±× »çÀÌÆ®¿¡ ´ë·®À¸·Î µî·Ï½ÃÄÑ ¹ö¸®´Â ½ÅÁ¾ ±¤°íµµ µîÀåÇß½À´Ï´Ù.
°Å±â¿¡ ¸ÞŸ »çÀÌÆ®¿¡ µîÀåÇÑ ½ºÆÔÀ¸·Î´Â, Àúµµ Áö³¹ø¿¡ óÀ½ °æÇèÇÑ ±¤°í ºí·Î±× ÇüÅ¿´½À´Ï´Ù. ÀÌ ºí·Î±×´Â °ÑÀ¸·Î º¸¸é ÀÏ¹Ý ºí·Î±×ó·³ º¸ÀÌÁö¸¸ ¸ÞŸ »çÀÌÆ®¿¡ µî·ÏÇÏ°í »çÀÌÆ®¿¡ Ŭ¸¯ÇÒ ¶§¸¶´Ù Àû¸³±ÝÀÌ ºÎ¿©µÇ´Â ¹è³ÊµéÀ» ´Þ°í ÀÖ´Â Æ÷½ºÆ®¸¦ ÁýÁßÀûÀ¸·Î ¿Ã¸®°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ Á¤º¸µéÀº ±×´ë·Î ºí·Î±ëÇÏ´Â ºí·Î°Åµé¿¡°Ô ³ëÃâµÇ¸ç, ¸ÞŸ »çÀÌÆ®¿¡´Â ±¤°í ±Û, µµ¹è ±Û µîÀ¸·Î ´Ù¸¥ ±ÛÀ» Àб⠴õ¿í Èûµé¾îÁö°Ô ÇÕ´Ï´Ù.
¸ðµç ¼ºñ½º¸¦ ¾î¶»°Ô ÇÏ¸é ±¤°íÀÇ ±â´ÉÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖÀ»Áö¸¦ ¿¬±¸ÇÏ´Â ½ºÆÔ °³¹ßÀÚ¿Í ¾î¶»°Ô ¼ö¸¹Àº ±¤°í¼º ±ÛµéÀ» Â÷´ÜÇÒ ¼ö ÀÖÀ»Áö¸¦ ¿¬±¸ÇÏ´Â ¼ºñ½º °³¹ßÀÚ¿ÍÀÇ ´ë¸³Àº ¹Ì·¡ÀÇ ¾î¶² ÀÎÅÍ³Ý È¯°æÀÌ ¿Â´Ù°í ÇØµµ ²÷ÀÓ¾øÀÌ °è¼ÓµÉ °Í °°½À´Ï´Ù.
| | | | | |
| |
´ÙÀ½ ½Ã°£¿¡´Â RSS ¼öÁý ·Îº¿ ±¸Çö
»ç½Ç ¸ÞŸ »çÀÌÆ®¸¦ ¸¸µé±â À§ÇÑ ±âº»ÀûÀÎ ¼³°è´Â À̹ø ¿¬Àç¿¡¼ ´ëºÎºÐ ¸¶ÃÆ´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¬Àç¿¡¼´Â À̹ø¿¡ ±¸ÇöÇÑ Å¬·¡½ºµé°ú À̾߱âÇÑ ¹æ¹ýµéÀ» Åä´ë·Î RSS ¼öÁý ·Îº¿À» ±¸ÇöÇϰí, °Å±â¼ ¹ß»ýÇÒ ¼ö ÀÖ´Â ¿©·¯ °¡Áö ¹®Á¦µé¿¡ ´ëÇØ¼ À̾߱âÇϵµ·Ï ÇϰڽÀ´Ï´Ù.
±×¸®°í ÇÊÀÚÀÇ ºí·Î±×¿¡ µé¾î¿À¸é ¡®Ã¢ÀÛ¡¯À̶ó´Â Ä«Å×°í¸®¿¡ ¸ÞŸ »çÀÌÆ®¸¦ Á¦ÀÛÇÏ¸é¼ °£´ÜÈ÷ Àû¾îµÐ ¸î °¡Áö °ü·Ã ³»¿ëµéÀÌ ÀÖÀ¸´Ï °ü½É ÀÖ´Â µ¶ÀÚµéÀ̶ó¸é Âü°íÇϰí, ±Ã±ÝÁõÀ̳ª ´õ ³ªÀº ¾ÆÀ̵ð¾î°¡ ÀÖ´Ù¸é ´ä±Û·Î À̾߱âÇØ Áֱ⠹ٶø´Ï´Ù. À̹ۿ¡ ¸ÞŸ »çÀÌÆ® °³¹ß¿¡ °ü½É ÀÖ´Â »ç¶÷ÀÌ ÀÖ´Ù¸é À̸§ÀÌ °ÅâÇÑ(?) ¡®¿Ãºí·Î±× °³¹ß ¿¬±¸½Ç(
lab.allblog.net)¡¯ÀÇ ±â¼ú ¿¬±¸½Ç °Ô½ÃÆÇ¿¡¼ ¸ÞŸ »çÀÌÆ®¿¡ ´ëÇÑ ¿©·¯ °¡Áö À̾߱⸦ ÇÔ²² ³ª´ ¼ö ÀÖ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù. @
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.