如何在Word 2007 .docx XML文件中获得Ampersand符号?

时间:2010-08-31 22:07:22

标签: java xml ms-word docx

我正在根据客户输入在xml中生成Word文档,当然,只要使用&,它就会爆炸。我尝试用&替换&的所有实例,但后来&字面上显示在我的Word文档中。这是我的代码:

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

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

问题是&符号在TOC和标题中的转义不同。

在TOC中,它会以&转义,而标题会以\u0026转义。

解决方案是在TOC和标题中以不同方式逃避&符号:

  • TOC:html转义序列
  • TITLE:unicode转义序列。

答案 1 :(得分:0)

您是否尝试使用&&(unicode)替换&符号?

答案 2 :(得分:0)

Word 2007本身就是&,所以你的问题必须是别的。

答案 3 :(得分:0)

你的正则表达式对我来说似乎不对。你为什么不这样做:

    static String replace(String in) {
        return in.replace("&","&");
    }