можно ли использовать open xml sdk для создания xml файлов?

Можно ли использовать OPEN XML SDK и создать XML-файл, содержащий некоторые метаданные определенного файла docx?

подробности: у меня есть файл docx, из которого я хочу извлечь некоторые метаданные (используя открытый xml) и отобразить их в виде файла xml, а затем использовать Jquery, чтобы представить их в более удобочитаемой форме.


person stazera    schedule 06.12.2010    source источник


Ответы (2)


Вы можете использовать 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 по вашему выбору.

person JasonPlutext    schedule 06.12.2010

Я знаю, что вопрос был опубликован давно, но первый результат поиска в Google отправил меня сюда. Поэтому, если есть другие, которые ищут решение этой проблемы, на веб-сайте MSDN есть фрагмент 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();
}
person slava    schedule 25.02.2016