Регулярное выражение в слове XML - PullRequest
0 голосов
/ 28 августа 2018

У меня есть xml, полученный из документа в следующем формате:

<w:p w:rsidR="00AE2D8E" w:rsidRPr="00AE2D8E" w:rsidRDefault="00AE2D8E">
        <w:pPr>
            <w:rPr>
                <w:lang w:val="en-US"/>
            </w:rPr>
        </w:pPr>
        <w:r w:rsidRPr="00AE2D8E">
            <w:rPr>
                <w:lang w:val="en-US"/>
            </w:rPr>
            <w:t xml:space="preserve">Lorem ipsum dolor sit </w:t>
        </w:r>
        <w:proofErr w:type="spellStart"/>
        <w:r w:rsidRPr="00AE2D8E">
            <w:rPr>
                <w:b/>
                <w:lang w:val="en-US"/>
            </w:rPr>
            <w:t>amet</w:t>
        </w:r>
        <w:proofErr w:type="spellEnd"/>
        <w:r w:rsidRPr="00AE2D8E">
            <w:rPr>
                <w:b/>
                <w:lang w:val="en-US"/>
            </w:rPr>
            <w:t xml:space="preserve"> </w:t>
        </w:r>
        <w:proofErr w:type="spellStart"/>
        <w:r w:rsidRPr="00AE2D8E">
            <w:rPr>
                <w:b/>
                <w:lang w:val="en-US"/>
            </w:rPr>
            <w:t>consecteur</w:t>
        </w:r>
        <w:proofErr w:type="spellEnd"/>
        <w:r w:rsidRPr="00AE2D8E">
            <w:rPr>
                <w:b/>
                <w:lang w:val="en-US"/>
            </w:rPr>
            <w:t>.</w:t>
        </w:r>
        <w:bookmarkStart w:id="0" w:name="_GoBack"/>
        <w:bookmarkEnd w:id="0"/>
    </w:p>

В документе написано: "Lorem ipsum dolor sit amet concecteur."

Проблема в том, что мне нужно заменить текст «Lorem ipsum dolor sit amet adecteur». любым другим.

Кто-нибудь знает, как это сделать с помощью регулярных выражений? Возможно? Если нет, то какой другой жизнеспособный вариант?

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Если вы хотите работать с документами OpenXML в JavaScript, вам следует взглянуть на Open XML, SharePoint и Office Blog Эрика Уайта . У него есть литой, который демонстрирует:

  • Как разрешить конечному пользователю загружать приложение Open XML в данные JavaScript на стороне клиента, изменять документ и затем сохранять этот документ обратно на локальный жесткий диск.

  • и как создать приложение Open XML на основе пользовательского ввода в веб-приложении.

Код прилагается к этому сообщению в блоге. Это немного запутанно и требует дополнительных библиотек - но определенно выполнимо.

0 голосов
/ 28 августа 2018

Вы абсолютно не хотите попытаться проанализировать OOXML с помощью регулярного выражения.

Как минимум, вам понадобятся настоящие анализаторы XML и такие инструменты, как XPath:

normalize-space(/w:p)

вернет почти то, что вы хотите,

Lorem ipsum dolor sit amet consecteur .
...