【问题标题】:can open xml sdk be used in creating xml files?open xml sdk 可以用于创建 xml 文件吗?
【发布时间】:2016-02-25 21:44:24
【问题描述】:

是否可以使用 OPEN XML SDK 并生成包含特定 docx 文件的一些元数据的 xml 文件?

详细信息:我有一个 docx 文件,我想从中提取一些元数据(使用 open xml)并将它们显示为 xml 文件,然后使用 Jquery 以更易读的形式呈现它们。

【问题讨论】:

    标签: openxml openxml-sdk


    【解决方案1】:

    您可以使用 SDK 从 docx 中可能存在的各种属性部分中提取信息(例如,核心属性部分,其中包括都柏林核心类型信息)。

    您可以将其提取为原生 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 方言。

    【讨论】:

      【解决方案2】:

      我知道问题是很久以前发布的,但谷歌搜索的第一个结果将我发送到这里。因此,如果还有其他人正在寻找解决方案,MSDN 网站上有一个 sn-p https://msdn.microsoft.com/en-us/library/office/cc489219.aspx

      简短的回答是...使用 XmlTextWritter,它适用于 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();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-31
        • 1970-01-01
        相关资源
        最近更新 更多