12.RSSã¨XML - RSSãã£ã¼ãã¨ãã®æ§é - ããã°ããã¥ã¼ã¹ãµã¤ãã§ã®RSSã®å©ç¨
Â
Â
RSSã¨XML
RSSãã£ã¼ãã¨ãã®æ§é
RSSï¼Really Simple Syndicationï¼ã¯ãã¦ã§ãã³ã³ãã³ããé ä¿¡ããããã®æ¨æºçãªå½¢å¼ã®ä¸ã¤ã§ãã RSSãã£ã¼ãã¯é常ãXMLå½¢å¼ã§è¨è¿°ãããã¦ã§ããµã¤ãã®ææ°æ å ±ãè¨äºã®ã¿ã¤ãã«ãæ¬æãæ´æ°æ¥æãªã©ãã¾ã¨ãããã¼ã¿ãæä¾ãã¾ãã
ä¾ãã°ã以ä¸ã¯ã·ã³ãã«ãªRSSãã£ã¼ãã®ä¸é¨ã示ãããã®ã§ãã
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>ãµã¤ãå</title>
<link>https://example.com</link>
<description>ææ°ã®è¨äºä¸è¦§</description>
<item>
<title>è¨äº1ã®ã¿ã¤ãã«</title>
<link>https://example.com/article1</link>
<description>è¨äº1ã®å
容</description>
<pubDate>Mon, 01 Jan 2023 12:00:00 GMT</pubDate>
</item>
<item>
<title>è¨äº2ã®ã¿ã¤ãã«</title>
<link>https://example.com/article2</link>
<description>è¨äº2ã®å
容</description>
<pubDate>Tue, 02 Jan 2023 12:00:00 GMT</pubDate>
</item>
</channel>
</rss>
RSSãã£ã¼ãã®æ§é ã¯ä¸è¬çã«ãchannelè¦ç´ ãã«ã¼ãã«ããããã®ä¸ã«titleãlinkãitemãªã©ãå«ã¾ãã¾ãã åitemã«ã¯è¨äºãã¨ã®æ å ±ãå«ã¾ãããããè§£æãããã¨ã§ã¦ã§ããµã¤ãã®ææ°æ å ±ãåå¾ã§ãã¾ãã
ããã°ããã¥ã¼ã¹ãµã¤ãã§ã®RSSã®å©ç¨
ããã°ããã¥ã¼ã¹ãµã¤ãã§ã¯ãRSSãã£ã¼ããæä¾ãããã¨ã§èªè ãææ°ã®æ å ±ãç°¡åã«åå¾ã§ããããã«ãªãã¾ãã RSSãªã¼ãã¼ãã¢ã°ãªã²ã¼ã¿ãå©ç¨ãããã¨ã§ãè¤æ°ã®ã¦ã§ããµã¤ãã®æ´æ°æ å ±ãä¸å çã«ç¢ºèªã§ããæ å ±åéãå¹ççã«ãªãã¾ãã
ä¾ãã°ã以ä¸ã¯ããã°ã®RSSãã£ã¼ããå©ç¨ãã¦ææ°è¨äºãåå¾ããããã®ã·ã³ãã«ãªJavaScriptã®ä¾ã§ãã
// JavaScriptã使ç¨ããä¾
const rssFeedUrl = 'https://example.com/rss-feed.xml';
fetch(rssFeedUrl)
.then(response => response.text())
.then(data => {
// XMLãã¼ã¿ãè§£æããææ°ã®è¨äºæ
å ±ãåå¾ããå¦ç
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(data, 'text/xml');
const items = xmlDoc.querySelectorAll('item');
items.forEach(item => {
const title = item.querySelector('title').textContent;
const link = item.querySelector('link').textContent;
// åå¾ããæ
å ±ãå©ç¨ãã¦è¡¨ç¤ºãä»ã®å¦çãè¡ã
console.log(`Title: ${title}, Link: ${link}`);
});
});
ã¦ã§ããµã¤ãå´ã§ã¯ãRSSãã£ã¼ããçæãããªã¼ãã¼ãã¢ã°ãªã²ã¼ã¿ããããè§£éã§ããããã«æ¨æºçãªæ§é ã«å¾ã£ãXMLå½¢å¼ã§æä¾ãã¾ãã ããã«ãããèªè ããµã¤ãã®ææ°æ å ±ãéããã«è¿½ãããããã¨ãã§ãã¾ãã