2010-12-06 86 views
1

是否可以使用OPEN XML SDK並生成一個包含特定docx文件的某些元數據的xml文件?可以打開xml sdk用於創建xml文件嗎?

詳細信息:我有一個docx文件,我想從中提取一些元數據(使用open xml)並將它們顯示爲xml文件,稍後使用jquery以更易讀的形式呈現它們。

回答

3

您可以使用SDK從docx中可能存在的各種屬性部分(例如,核心屬性部分,其中包括dublin核心類型信息)中提取信息。

你可以在它的原生XML的形式提取出來:

<cp:coreProperties   
      xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-     properties" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" .. > 
     <dc:creator>Joe</dc:creator> 
     <cp:lastModifiedBy>Joe</cp:lastModifiedBy> 
     <cp:revision>1</cp:revision> 
     <dcterms:created xsi:type="dcterms:W3CDTF">2010-11-10T00:32:00Z</dcterms:created> 
     <dcterms:modified xsi:type="dcterms:W3CDTF">2010-11-10T00:33:00Z</dcterms:modified> 
    </cp:coreProperties> 

,或者在您自己選擇的一些其他的XML方言。

0

我知道問題發佈很久以前,但谷歌搜索的第一個結果送我到這裏。所以,如果有其他人在尋找一個解決方案,這一點,有使用XmlTextWritter在MSDN網站上的片段https://msdn.microsoft.com/en-us/library/office/cc489219.aspx

簡短的回答是......,它適用於Office 2013 AFAIK:

// Add the CoreFilePropertiesPart part in the new word processing document. 
var coreFilePropPart = wordDoc.AddCoreFilePropertiesPart(); 
using (XmlTextWriter writer = new XmlTextWriter(coreFilePropPart.GetStream(FileMode.Create), System.Text.Encoding.UTF8)) 
{ 
    writer.WriteRaw("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<cp:coreProperties xmlns:cp=\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\"></cp:coreProperties>"); 
    writer.Flush(); 
}