是否可以使用OPEN XML SDK並生成一個包含特定docx文件的某些元數據的xml文件?可以打開xml sdk用於創建xml文件嗎?
詳細信息:我有一個docx文件,我想從中提取一些元數據(使用open xml)並將它們顯示爲xml文件,稍後使用jquery以更易讀的形式呈現它們。
是否可以使用OPEN XML SDK並生成一個包含特定docx文件的某些元數據的xml文件?可以打開xml sdk用於創建xml文件嗎?
詳細信息:我有一個docx文件,我想從中提取一些元數據(使用open xml)並將它們顯示爲xml文件,稍後使用jquery以更易讀的形式呈現它們。
您可以使用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方言。
我知道問題發佈很久以前,但谷歌搜索的第一個結果送我到這裏。所以,如果有其他人在尋找一個解決方案,這一點,有使用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();
}