我試圖提取數據,在一個RSS提要谷歌基地使用當前使用SQL Server 2005分組結果在SQL Server 2005中使用XQuery
在那裏,我們有幾個問題,我希望可以解決!
- 命名空間
- 分組
我當前的SQL如下:
SELECT [xml].query('
<Item xmlns:g="a">
<Title>{ data(*/*/*/Title) }</Title>
<g:id>{ sql:column("ReportingCode") }</g:id>
</Item>
')
FROM esh_xml
where [Xml].value('(/*/*/*/Attributes/Attribute[@Description="Category"][text()="MasterMix"])[1]','nvarchar(2000)') is not null
與當前查詢的輸出,我得到成千上萬的結果行即
<item xmlns:g="a"><title>blah blah</title><g:id>asdasd<g:id></item>
我所需的輸出是
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>Mastermixdigital.com Product Feed </title>
<link> http://www.mysite.com/ </link>
<description>mastermix latest release feed </description>
<item xmlns:g="a">
<title>blah blah</title>
<g:id>asdasd<g:id>
</item>
<item xmlns:g="a">
<title>blah blah</title>
<g:id>asdasd<g:id>
</item>
<item xmlns:g="a">
<title>blah blah</title>
<g:id>asdasd<g:id>
</item>
</channel>
</rss>
另一件事我相信查詢的執行可以通過搜索之前通過刪除冗餘節點加快,並就如何我可能會去這任何提示!
非常感謝
名稱空間和分組可以在純XQuery中完成。如果沒有輸入源,確切說明它是不可能的。數據庫表,列以及所有沒有標準SQL調用的XQuery引擎都將特定於SLQ Server未滿XQuery標準的抱怨。 – 2011-02-03 23:38:52