Как получить все уравнения в текстовом документе, используя библиотеку DocX

Я использую библиотеку DocX для пост-обработки моих документов.

Есть ли способ получить список всех уравнений в документе?

Я видел, что вы можете легко вставить уравнение, используя DocX.InsertEquation()Однако я не могу найти способ получить список всех уравнений.

1 ответ

Да, это возможно с помощью следующего выражения LINQ:

string mathNamespace = "http://schemas.openxmlformats.org/officeDocument/2006/math";
var equations = doc.Paragraphs.Where(
                    p => p.Xml.Descendants(XName.Get("oMathPara",mathNamespace)).Any());

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

Другие вопросы по тегам