5
SQL을 사용하여 RSS 피드에서 dc : creator 값을 얻는 방법을 잘 모르겠습니다. , 이것은 잘 작동SQL XML을 사용하여 dc : creator 값 얻기
DECLARE @xml XML
SET @xml = cast('my rss feed here' AS xml)
SELECT
convert(datetime,substring(T.nref.value('pubDate[1]','nvarchar(100)'),6,20)) as pubdate,
FROM @xml.nodes('//item') AS T(nref)
: pubDate의 예 : 나는이 같은 것을 사용 -
내가 값을 얻기 위해이 같은 것을 사용 내 SQL에서<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
<channel>
<title>Foobar RSS</title>
<link>http://www.foobar.com/</link>
<description>RSS feed</description>
<language>en</language>
<ttl>15</ttl>
<item>
<title>This is my title</title>
<link>http://www.foobar.com/link/blabla</link>
<description>Bla..bla..bla..</description>
<dc:creator>John Doe</dc:creator>
<guid isPermaLink="false">00082EA751F1D905DE00E7CFA2417DA9</guid>
<pubDate>Wed, 26 Oct 2011 00:00:00 +0200</pubDate>
</item>
</channel>
</rss>
가 : 이 내 XML/RSS 피드입니다 내가 직류 얻기 위해 노력하고 있어요 때 : 나는 RSS 피드에서 여러 열을 선택 할 수 있어야합니다
SELECT
T.nref.value('dc:creator','nvarchar(100)') as creator
FROM @xml.nodes('//item') AS T(nref)
error:
XQuery [value()]: The name "dc" does not denote a namespace.
: 작성자 값 '홍길동'을, 다음은 나에게 오류를 제공합니다. 누구든지 dc : creator의 가치를 얻을 수있는 해결책이나 방향을 제시 할 수 있습니까?
다른 질문이 있습니다. 하위 선택에서 코드를 작성하는 방법은 무엇입니까?
E.g.
INSERT INTO RSSResults (ID, pubDate)
SELECT @ID, tbl.pubDate FROM (
;WITH XMLNAMESPACES('http://purl.org/dc/elements/1.1/' AS dc)
SELECT
RSS.Item.value('(dc:creator)[1]', 'nvarchar(100)') as pubDate
FROM
@xml.nodes('/rss/channel/item') as RSS(Item)) AS tbl
코드는 "; WITH XMLNAMESPACES"에서 중단됩니다. 어떻게 든 네임 스페이스를 명령문에 직접 포함시킬 수 있습니까? 이 같은