Member 13529708 Ответов: 1

Как получить метаданные из файла slx с помощью C# или C++?


В моем приложении MATLAB я использую следующий код для установки моих пользовательских метаданных.
h = load_system(pathToFile);
set_param(h, 'Metadata', properties)

Кроме того, у меня есть проект C#, который работает с файлами Matlab, и мне нужно получить метаданные из файлов slx. Также я знаю, что файл .slx имеет формат zip, поэтому мне удалось выяснить, что мои данные записаны в файл .mxarray.

Пожалуйста, дайте мне пример, как я могу получить свои данные из файла sxl или файла read .mxarray с использованием C# или C++.

Что я уже пробовал:

I tried read .slx and .mxarray files but I don't know how do this correctly.

1 Ответов

Рейтинг:
1

Eric Lynch

Я действительно не играл с MATLAB, но похоже, что он предоставляет соответствующий метод get_param для получения значений параметров см. раздел:

Получение имен и значений параметров - MATLAB get_param[^]

Похоже, он также предоставляет этот API для C++. Видеть:

MATLAB API для C++- MATLAB & Simulink[^]

Хотя, похоже, вы задаете совсем другой вопрос. Если вы спрашиваете, как получить доступ к этой информации без API, это будет очень трудно. Формат файла является проприетарным, недокументированным и, по-видимому, может быть изменен.

Доступ к несжатому файлу из ZIP-файла довольно прост. Просто проверьте следующее:

Как сжимать и распаковывать файлы | документы Майкрософт[^]

Что касается формата файла и того, где найти метаданные, вы в основном сами по себе. Вам придется перепроектировать формат. В этом нет ничего простого. Если вы настаиваете на этом пути, это может помочь вам начать, но я подозреваю, что он довольно устарел:

Представление внутренней памяти Matlab | недокументированный Matlab[^]

Как я уже сказал, Я не очень хорошо знаком с MATLAB, так что, возможно, у кого-то еще будут более счастливые новости для вас.