我正在尝试以以下格式创建数据馈送,
<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>
但是,Reporting Services 导出选项生成了以下 xml 数据馈送,这在 Google Merchant Center 上不起作用。
<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>
如果有人告诉我需要哪种类型的 XSLT 将 XML 数据重新格式化为另一个 xml 文件,那将非常有帮助。
编辑 :
步骤 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>
如果我通过 DataTransform 属性将上述 xslt 附加到报告中,则会得到以下输出。
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
--------------------------------------^
提前谢谢你