【问题标题】:Prevent xml escaping in Restful (JAXRS)防止 xml 在 Restful (JAXRS) 中转义
【发布时间】:2015-10-21 20:30:20
【问题描述】:

我有一个安静的服务(球衣),它在其中一个标签中返回一个带有请求参数的 url。示例:

<url>http://abc:9080/testMe.jsp?req1=a&req2=b</url>

(这是响应的一部分) 当我得到响应时,我得到如下('&' 变为 '& a m p;',没有任何空格。我添加了空格以避免在这里转义):

<url>http://abc:9080/testMe.jsp?req1=a&amp;req2=b</url>

我在 google 中查找并找到了许多在 jaxb 中执行此操作的方法,但在 Restful (JAXRS) 中却没有。另外,我尝试了一种添加反斜杠的蹩脚解决方案,但没有成功。 在 java 1.6 中如何防止它发生?

【问题讨论】:

  • 您必须转义 "'&lt;&gt;&amp; 才能使您的响应成为有效的 XML。正确解码 XML 取决于客户端。
  • @Dmitri 有道理。我希望用户理解什么是格式良好的 xml。 :)

标签: java xml rest jersey jax-rs


【解决方案1】:

您无需更改任何内容,因为这就像 XML 一样:&amp;amp; 是 XML 中的一个特殊字符,文本中包含的任何 &amp;amp; 都将转义为 &amp;amp;

您的预期结果...=a&amp;req2=b... 不是格式良好的 XML 文档,而 Jersey 返回的结果是格式良好的。

当您想要访问响应文档中的 url 值时,您需要使用 XML 解析器解析响应(例如,解析为 DOM 文档),并且解析后的文档将具有您期望的 url 值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 2014-05-25
    • 1970-01-01
    • 2012-06-02
    • 2016-10-28
    • 1970-01-01
    相关资源
    最近更新 更多