В дополнение к ссылкам Otaku, this показывает пример (в нижней части) навигации по документу OpenXML с использованием пространства имен IO.Packaging и SDK.
Точно так же, как Microsoft заявляет на странице загрузки для SDK :
Open XML SDK 2.0 для Microsoft
Офис построен на вершине
System.IO.Packaging API и обеспечивает
строго типизированные классы деталей для
манипулировать документами Open XML. SDK
также использует .NET Framework
Интегрированный в язык запрос (LINQ)
технология для предоставления строго типизированных
доступ к объекту XML
внутри частей открытого XML
документы.
Open XML SDK 2.0 упрощает
задача манипулирования пакетами Open XML
и базовая схема Open XML
элементы в пакете. Открыто
Интерфейс прикладного программирования XML
(API) инкапсулирует много общих задач
что разработчики выполняют на Open XML
пакеты, так что вы можете выполнять сложные
операции с несколькими строками
код.
Я работал в основном только с SDK, но, например, приятно иметь возможность извлекать таблицу из документа Word, просто используя:
Table table = wordprocessingDocument.MainDocumentPart.Document.Body.Elements<Table>().First();
(я имею в виду, если это первая таблица)
Я бы сказал, что SDK делает именно то, к чему стремится, предоставляя своего рода интуитивно понятный объектно-ориентированный способ работы с документами.
Что касается автоматического исправления отношений - нет, этого не происходит. И, оглядываясь назад на то, как вы на самом деле формулируете вопрос, я думаю, я мог бы даже сказать, что (и я довольно новичок в Open XML, так что это не Евангелие по сути) SDK2.0 не обязательно предлагает какие-то дополнительные функциональность , поскольку она предлагает более удобный способ достижения той же функциональности. Например, вам все равно нужно знать об этих отношениях при удалении элемента, но с ними гораздо проще иметь дело.
Кроме того, в SDK были приложены некоторые усилия, чтобы добавить еще больше абстракции - см., Например, ExtremeML (только для библиотеки Excel. Я никогда не использовал ее, но думаю, что она в такие вещи, как исправление отношений).
Так что извините, если я немного побродил здесь. Но я предполагаю, что мой короткий ответ таков: вероятно, нет никакой дополнительной функциональности, но есть хороший уровень абстракции, который значительно облегчает достижение определенной функциональности - и если вы делали это вручную до сих пор, вы конечно, иметь понимание OPC, чтобы понять, что именно абстрагируется.