0
我想在下面的格式來創建數據飼料中使用XSLT reformating,SSRS XML導出
<rss version="2.0">
<channel>
<Title>FeedTitle</Title>
<link>http://www.mydomain.com</link>
<description>My Products</description>
<item>
<Id>10890</Id>
<Title>Benetton 01</Title>
</item>
<item>
<Id>10700</Id>
<Title>Benetton 02</Title>
</item>
</channel>
</rss>
,但報表服務導出選項已產生以下XML數據文件不上谷歌商家中心工作。
<Report xsi:schemaLocation="pg_google_data_feed http://reportserver?%2Fpg_google_data_feed&rs%3AFormat=XML&rc%3ASchema=True" Name="pg_google_data_feed">
<Title>FeedTitle</Title>
<link>http://www.mydomain.com</link>
<description>My Products</description>
<ProductList>
<Details_Collection>
<Details>
<Id>10890</Id>
<Title>Benetton 01</Title>
</Details>
<Details>
<Id>10700</Id>
<Title>Benetton 02</Title>
</Details>
</Details_Collection>
</ProductList>
</Report>
如果任何機構告訴我將XML數據重新格式化爲另一個xml文件需要哪種類型的XSLT會非常有幫助。
編輯:
步驟中使用以下代碼1中創建的XSLT文件。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" encoding="utf-8" />
<xsl:template match="Details">
<Details>
<xsl:for-each select="@*">
<xsl:element name="{name(.)}">
<xsl:value-of select="." />
</xsl:element>
</xsl:for-each>
</Details>
</xsl:template>
</xsl:stylesheet>
第2步:設置報表的屬性設置爲 「datafeed.xslt」
而不應用XSLT到我的SSRS報告結果顯示如下,
<Report xsi:schemaLocation="pg_google_data_feed http://reportserver?%2Fpg_google_data_feed&rs%3AFormat=XML&rc%3ASchema=True" Name="pg_google_data_feed">
<Title>FeedTitle</Title>
<link>http://www.mydomain.com</link>
<description>My Products</description>
<ProductList>
<Details_Collection>
<Details>
<Id>1000</Id>
</Details>
<Details>
<Id>1000</Id>
</Details>
</Details_Collection>
</ProductList>
</Report>
如果我連着上面提到的XSLT通過DataTransform屬性的報告,我正在獲得輸出。
XML Parsing Error: syntax error
Location: file:///C:/Documents%20and%20Settings/Administrator/Desktop/pg_google_data_feed.xml
Line Number 1, Column 39:<?xml version="1.0" encoding="utf-8"?>1089010947109191093310895108921092406598115141151311512
--------------------------------------^
預先感謝您 Sudhakar
當你說「哪種類型的XSLT」是否指「哪個版本」?對於您的任務,XSLT 1.0應該可以正常工作,因爲您只需要禁用一些標記並重命名其他標記。請首先諮詢XSLT的一般指南(例如,從https://en.wikipedia.org/wiki/XSLT開始)。如果您遇到了具體的XSLT問題,您可以將其添加到上面的問題中,您將得到幫助。 –
實際上我需要xslt代碼來抑制標記 Details_Collection>並將標記重命名爲。如果您能爲我提供xslt代碼,我將不勝感激。謝謝! –
user2538900
然後我會做你的工作。 :-) –