का उपयोग कर निर्माता: मुझे यकीन है कि डीसी का मूल्य कैसे प्राप्त करें: एसक्यूएल का उपयोग कर आरएसएस-फीड से निर्माता। यह मेरा xml/आरएसएस फ़ीड है: -डीसी का मूल्य प्राप्त करना: एसक्यूएल एक्सएमएल
<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>
मेरी एसक्यूएल मैं कुछ इस तरह का उपयोग मूल्यों को प्राप्त करने के लिए pubDate के लिए जैसे मैं कुछ इस तरह का उपयोग करें:
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)
यह ठीक काम करता है, लेकिन जब मैं डीसी पाने के लिए कोशिश कर रहा हूँ:
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.
मैं आरएसएस फ़ीड से एकाधिक स्तंभों का चयन करने में सक्षम होना चाहिए: निर्माता मान 'जॉन डो', निम्नलिखित बस मुझे एक त्रुटि देता है। क्या कोई डीसी के मूल्य प्राप्त करने के लिए समाधान या दिशा प्रदान कर सकता है: निर्माता?
मेरे पास एक और सवाल है - यदि आप इसे उप-चयन में कर रहे हैं तो आप कोड कैसे बनाएंगे?
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
कोड "XMLNAMESPACES के साथ" टूटता है। क्या किसी भी तरह से कथन में नेमस्पेस को सीधे शामिल करना संभव है? इस तरह