1

问:我创建了一个示例 xml 文档,其中包含符合 atom 1.0 模式的数据。当我在 PowerPivot 中导入此文件的内容(用于测试目的)时,它会为每个条目中的每个原子元素创建列,而不是为每个内容元素创建一个列。为什么是这样?

背景:客户想要从 Web 服务导入数据,该服务提供使用 PowerPivot 不支持的自定义 XML 架构的提要。该服务使调用者能够提供将应用于提要的 XSLT 模板。我希望能够将此提要转换为有效的原子提要,从而允许客户将数据导入 PowerPivot。

示例原子 xml:

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
      xmlns="http://www.w3.org/2005/Atom"
      xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
   <title type="text">My Data Feed</title>
   <id>http://temp/feed</id>
   <updated>2012-12-13T00:00:00Z</updated>
   <entry>
      <id>http://temp/feed/1</id>
      <title type="text">Title</title>
      <author>
         <name>Author</name>
      </author>
      <updated>2012-12-13T00:00:00Z</updated>
      <content type="application/xml">
         <d:Name>John Smith</d:Name>
         <d:Address>Address</d:Address>
         <d:Zip>1234</d:Zip>
      </content>
   </entry>
</feed>

导入 PowerPivot 时(选择“从数据馈送”,单击“浏览”并指出 xml 文件),它看起来像这样:

PowerPivot 导入结果

我期待三列:名称、地址和邮编。如果我在连接配置中将“包含原子元素”从“自动”更改为“” ,则不会导入任何列。

4

1 回答 1

2

看来我只是错过了这个m:properties元素。最终结果 - 还包括空属性和数据类型的示例:

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
      xmlns="http://www.w3.org/2005/Atom"
      xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
   <title type="text">My Data Feed</title>
   <id>http://temp/feed</id>
   <updated>2012-12-13T00:00:00Z</updated>
   <entry>
      <id>http://temp/feed/1</id>
      <title type="text">Title</title>
      <author>
         <name>Author</name>
      </author>
      <updated>2012-12-13T00:00:00Z</updated>
      <content type="application/xml">

         <!-- attributes placed under the properties element -->
         <m:properties>
            <d:Name>John Smith</d:Name>
            <d:Address>Address</d:Address>
            <d:Zip m:type="Edm.Int32">1234</d:Zip>
            <d:Comment m:null="true" />
         </m:properties>

      </content>
   </entry>
</feed>
于 2012-12-17T13:16:25.280 回答