是否可以使用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();
}