Замените Заполнителей в документе слова с c#

Данные 'reputation' вложены в dict под клавишей 'profile'. Вам нужно вставить этот дикт и передать его в профиль:

def create(self, validated_data):
    profile_data = validated_data.pop('profile')
    password = validated_data.get('password')
    user = User.objects.create(**validated_data)
    user.set_password(password)
    user.save()

    Profile.objects.create(user=user, **profile_data)

    return user
6
задан Sebastian Müller 8 October 2008 в 11:38
поделиться

4 ответа

Новые офисные форматы (docx, xlsx, и т.д.) являются zip-файлами, которые содержат набор XML-файлов. С этим в памяти у Вас есть несколько подходов.

  1. Можно использовать Открыть XML SDK, расположенный по http://www.microsoft.com/downloads/details.aspx?FamilyId=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&displaylang=en

  2. Можно разархивировать docx файл, сделать поиск и замену для маркеров и zip, которой это создает резервную копию.

Существует веб-сайт по openxmldeveloper.org, который является только для такого рода вещи. Кроме того, примите во внимание, что они уже поставляют бета-версию 2 SDK.

5
ответ дан 17 December 2019 в 00:16
поделиться

Способом использовать xml я нашел это решение, которое находит ВСЕ sdt-узлы

 NameTable nt = new NameTable();
        XmlNamespaceManager nsManager = new XmlNamespaceManager(nt);
        nsManager.AddNamespace("w", wordmlNamespace);

        XmlDocument xDoc = new XmlDocument();
        xDoc.Load(doc.MainDocumentPart.GetStream());

        XmlNodeList nodeList = xDoc.SelectNodes(@"./w:document/w:body//w:sdt", nsManager);

Это работает, но не делает Открыть XML Format SDK 2.0, дают мне шанс для этого?

0
ответ дан 17 December 2019 в 00:16
поделиться

Eric White затронул точно этот предмет в статье блога, подробно излагающей программу, предназначенную для проверки исходных отрывков, встроенных в файлы DocX. Вне просто, что статья я настоятельно рекомендую, чтение его ряда на Office Открывает XML и C#.

1
ответ дан 17 December 2019 в 00:16
поделиться

Я использовал этот:

IEnumerable test2 = from element in body.Elements () где element.InnerText.Contains (" sdt ") select element;

1
ответ дан 17 December 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: