Отладка кода, внутреннего текста и внутреннего xml, и все кажется хорошо перед сохранением, но после сохранения странные символы не сохраняется (хотя обычные символы изменяются и сохраняются).
Есть идеи, что я делаю неправильно? Я попробовал пару нормализаций и убедился, что все в формате utf-8, но у меня немного нет идей...
Код: Выделить всё
using (WordprocessingDocument document = WordprocessingDocument.Open(wordDocumentPath, true))
{
var body = document.MainDocumentPart.Document.Body;
for (int i = 0; i < bemenetLines.Length; i++)
{
string searchText = bemenetLines[i].Normalize(NormalizationForm.FormC);
if (searchText == "cs")
{; }
string replacementText = mehLines[i].Normalize(NormalizationForm.FormC);
ReplaceTextInWord(body, searchText, replacementText);
document.MainDocumentPart.Document.Save();
}
}
MessageBox.Show("Replacement completed successfully!", "Success");
Код: Выделить всё
private void ReplaceTextInWord(Body body, string searchText, string replacementText)
{
try
{
foreach (var textElement in body.Descendants())
{
string textContent = textElement.Text.Normalize(NormalizationForm.FormC);
if (textContent.Contains(searchText))
{
textElement.Text = textContent.Replace(searchText, replacementText);
}
}
}
catch (Exception ex)
{
MessageBox.Show($"Error during text replacement: {ex.Message}", "Error");
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... characters