所以,我在空的工作簿上动态创建了一个可透视的功能(已经构建了数据连接),并成功地保存了:该文档甚至成功地打开了为什么Excel Gui:一切似乎正确且一切似乎都正确并且正常工作。
当我看着包装中时,我发现XML标签具有一个extar x:,like workbook.xml就像bellow;。
<x:pivotCaches>
<x:pivotCache cacheId=”1″ r:id=”rId4″ />
</x:pivotCaches>
有人为什么我们要有这个额外的x:?它只有在我将Pivotcaches标签添加到Workbook.xml之后才会发生。我正在使用OpenXML 2.7.1
x:pivotCaches
中的 x
是 xml名称空间前缀。
要使XML为 namespace-well形成,必须有一个声明将命名空间前缀 x
绑定到名称空间uri,例如 http://schemas.openxmlformats.org/spreadsheetml/2006/main
。您的XML片段(即它的站立)不是命名空间 - 孔形成,因为它使用了未确定的XML名称空间前缀。
可以在其祖先的任何地方或更高的使用中声明名称空间前缀:
<x:pivotCaches xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<x:pivotCache cacheId=”1″ r:id=”rId4″ />
</x:pivotCaches>
如果默认的XML名称空间表示:
,则可以省略命名空间前缀<pivotCaches xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<pivotCache cacheId=”1″ r:id=”rId4″ />
</pivotCaches>
另请参见
- XMLNS,XMLNS:XSI,XSI:示意图和TargetNamespace?
- xml中的名称空间
x:
前缀称为XML名称空间。您还必须在XML文件中查看xmlns:x
属性,该属性指示如何解析此名称空间的模式。