Как получить символ амперсанда в XML-файл Word 2007 .docx? - PullRequest
4 голосов
/ 01 сентября 2010

Я создаю документ Word в формате xml на основе информации, полученной от клиентов, и, конечно, он взрывается при использовании &.Я попытался заменить все экземпляры & на &, но тогда & буквально появляется в моем Word Doc.Вот мой код:

        static String replace(String in) {
            String ampersand = "&(?![a-zA-Z][a-zA-Z][a-zA-Z]?[a-zA-Z]?;)";
            return in.replaceAll(ampersand,"&");
        }

Есть идеи?

Ответы [ 4 ]

2 голосов
/ 04 ноября 2012

Проблема заключается в том, что амперсанд по-разному экранируется в оглавлении и заголовке.

В оглавлении он экранируется как &, а в заголовке экранируется как \u0026.

* 1006.* Решение состоит в том, чтобы по-разному экранировать амперсанд в TOC и заголовке:
  • TOC: экранирующая последовательность html
  • TITLE: экранированная последовательность в кодировке Unicode.
0 голосов
/ 03 сентября 2010

Word 2007 сам по себе &, поэтому ваша проблема должна быть в другом.

0 голосов
/ 10 ноября 2010

Ваши регулярные выражения кажутся мне неправильными. Почему бы тебе просто не сделать:

    static String replace(String in) {
        return in.replace("&","&");
    }
0 голосов
/ 01 сентября 2010

Вы пытались заменить амперсанд на & или & (Unicode)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...