yotube rss xml DB 데이터 저장방법

yotube rss xml DB 데이터 저장을 위해서 유튜브 동영상 업그레이드 정보를 rss feed로 확인하는 방법을 살펴보았고 rss를 db에 저장하는 방법도 파악하고 있습니다. 이번에는 youtube rss를 db로 저장하는 방법에 대해 알아보겠습니다.

XML 데이터 MSSQL로 입력, 조회하는 방법

xml 데이터를 테이블에 입력하는 방법은 다음과같습니다.

https://ggmouse.tistory.com/194

yotube rss xml DB 데이터 저장방법
/* 변수 선언 */
DECLARE @In_Xml VARCHAR(MAX) -- 데이터가 들어있는 XML 스트링
DECLARE @XML_OBJECT XML

SET @In_Xml = N' <root> <DATA> <num>70</num> <id>T9KE211</id> <date>2017-04-25 18:16:30</date> </DATA> <DATA> <num>71</num> <id>T9U0600</id> <date>2017-04-25 18:16:30</date> </DATA> </root> '

/* XML OBJECT로 컨버트 */
SET @XML_OBJECT = CONVERT(XML, @In_Xml)

/* 파싱 */
SELECT x.XmlCol.value('(num/text())[1]', 'INT') AS num
	, x.XmlCol.value('(id/text())[1]', 'VARCHAR(20)') AS id
	, x.XmlCol.value('(date/text())[1]', 'DATETIME') AS date --INSERT 저장할테이블명
FROM @XML_OBJECT.nodes(N'/root/DATA') AS x(XmlCol)

하지만 youtube rss는 다른 홈페이지나, 블로그 등 일반적인 약간의 변칙의 포멧을 가지고 있어서 구동되지 않습니다.

youtube rss를 db로 저장하는 방법

그래서 <entry>부분만 따로 추출해서 할 필요가있었습니다. 또한 테그제목에”:”가 포함되면 에러가 발생하였습니다. 이를 위해 자르기, 추출하기 등 추가 작업이 필요합니다.

https://learn.microsoft.com/ko-kr/sql/t-sql/xml/guidelines-for-using-xml-data-type-methods?view=sql-server-ver16

서브문자열을 추출 할 때 같은 식별자가 반복될시 블록별 구획을 나눠 저장하거, 특정위치를 추출하는 알고리즘은 아래사이트를 참고하면 됩니다.

https://royzero.tistory.com/108

youtube rss를 db로 저장하는 방법

사이트를 참고해서 작성하면 아래와같이 youtube의 게시정보를 rss로 받아서 db에 저장할 수 있다.

youtube rss를 db로 저장하는 방법

youtube rss feed url 2가지 주소