Что-то не так с моим документом Word;он был создан с помощью инструмента.Тестирование с помощью другого документа Word, созданного с помощью Word, дает лучшие результаты.Я работаю над этим ...
С обычным документом Word, глядя на
doc.MainDocumentPart.Document.Body.InnerXml
значение начинается с:
<w:p w:rsidR=\"00455325\" w:rsidRDefault=\"00341915\"
xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\">
<w:r>
<w:t>Hello World!
, но со словом docЯ тестирую с помощью инструмента, который я сам сделал:
<w:body xmlns:w=\"http://schemas.openxmlforma...
Это многое объясняет.Мне придется исправить мой инструмент: -)
Обновление:
Исправлено то, что это не давало правильную часть данных для вставки в Word Doc:
string strDocumentXml = newWordContent.DocumentElement.InnerXml;
но вместо этого это правильные данные:
string strDocumentXml = newWordContent.DocumentElement.FirstChild.OuterXml;
Проверка с помощью отладчика:
doc.MainDocumentPart.Document.Body.InnerXml
, как указано выше, подтвердила это.Вызов Descendants теперь возвращает ожидаемые данные, и обновление гиперссылки работает.
Примечание:
Я четко исправил ошибку в своем приложении, но, помимо обновления гиперссылки,раньше приложение работало нормально, с этой ошибкой: -)