动态生成的Excel XML(通过OpenXML)在其所有标签中具有X:



所以,我在空的工作簿上动态创建了一个可透视的功能(已经构建了数据连接),并成功地保存了:该文档甚至成功地打开了为什么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属性,该属性指示如何解析此名称空间的模式。

最新更新