Программно извлекать содержимое из файла ODT с помощью System.IO.Packaging.Package - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь разобрать содержимое XML файла ODT.Для этого мне сначала нужно извлечь различные части файла, поскольку это в основном ZIP-архив.

Я делаю то же самое, что и с файлом DOCX, который также является ZIP-архивом:

Stream docxStream = File.Open(@"d:\word.docx", FileMode.Open);
Stream odtStream = File.Open(@"d:\odt.odt", FileMode.Open);

using (Package docxPackage = Package.Open(docxStream, FileMode.Open, FileAccess.Read))
{
    using (Package odtPackage = Package.Open(odtStream, FileMode.Open, FileAccess.Read))
    {
        PackagePartCollection odtPackagePartCollection = odtPackage.GetParts(); // Contains 0 entries
        PackagePartCollection docxPackagePartCollection = docxPackage.GetParts(); // Contains 10 entries
    }
}

Я ожидаю, что смогу получить доступ к каждой части через объект PackagePartCollection, что я могу для DOCX, но не для ODT.Я что-то упустил?

...