问题:我创建了一个包含符合atom 1.0架构的数据的示例xml文档。当我在PowerPivot中导入此文件的内容(用于测试目的)时,它会为每个条目中的每个原子元素创建列,而不是为每个内容元素创建一列。这是为什么?
后台:客户希望从Web服务导入数据,该服务提供使用PowerPivot不支持的自定义XML架构的订阅源。该服务使调用者能够提供将应用于源的XSLT模板。我希望能够将此Feed转换为有效的原子Feed,从而允许客户将数据导入PowerPivot。
示例atom 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时(选择“From Data Feeds”,单击“Browse”并指出xml文件),它看起来像这样:
我正在考虑三个栏目:姓名,地址和邮编。如果我在连接配置中将“包括原子元素”从自动更改为 False ,则不会导入任何列。
答案 0 :(得分: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>