Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java '&;引用';而不是在从Jersey返回XML时使用普通引号_Java_Xml Serialization_Jaxb_Jersey - Fatal编程技术网

Java '&;引用';而不是在从Jersey返回XML时使用普通引号

Java '&;引用';而不是在从Jersey返回XML时使用普通引号,java,xml-serialization,jaxb,jersey,Java,Xml Serialization,Jaxb,Jersey,我有以下问题。我有一个使用Jersey的web服务,它可以生成两种返回数据—XML和JSON @GET @Produces({"application/xml","application/json"}) 返回的数据还包含一个带有引号的字符串,如果返回的数据类型是JSON,则所有内容都正常工作-返回带有普通引号的字符串,如果返回的数据类型是XML,则返回带有引号的字符串 问题是,在客户端字符串上应该使用正常的“引号。请帮助解决此问题 预期字符串示例: {"key1":"value1","key2

我有以下问题。我有一个使用Jersey的web服务,它可以生成两种返回数据—XML和JSON

@GET
@Produces({"application/xml","application/json"})
返回的数据还包含一个带有引号的字符串,如果返回的数据类型是JSON,则所有内容都正常工作-返回带有普通引号的字符串,如果返回的数据类型是XML,则返回带有引号的字符串

问题是,在客户端字符串上应该使用正常的
引号。请帮助解决此问题

预期字符串示例:

{"key1":"value1","key2":"value2"}

XML用于程序到程序的通信。
字符数据内的含义与
相同

您在试图解析“返回数据”的程序中是否遇到了一些问题?

您可能需要了解:

(JAX-RS使用JAXB)


我知道“而且'这可能是个问题,因为我看到一些旧的XML系统做了一些奇怪的事情(包括令人尊敬的IE7)

为什么这是一个问题?XML解析器应该将
解释为引号字符。Jersey可能会对元素内容中的所有内容进行编码,而不是只对属性内容中的引号进行编码。(这只是为了确保或简化代码。)这不是一个问题。这是正确的XML行为,或者至少从您所说的听起来是正确的。也许您认为不正确的输出示例会有所帮助。我知道这是正确的行为,但在客户端,需要使用带正常(“”)引号的正常字符串。所以这是一个问题=(啊,错过了您的编辑)客户端的XML解析器是哑的,不能使其不哑“是一个重要的细节。是的,客户端需要带普通引号的普通字符串。@VladimirSelin需要什么?客户端到底在运行什么?为什么它无法解析格式良好的XML?您解决了错误的问题;实际的问题不是服务器端用
替换引号”
(这将为您提供有效的XML)但是客户端无法处理这样的XML。这也可能暗示客户端存在一些更深层次的问题,例如易受各种注入攻击。感谢您的建议,但是对于使用jersey上下文的web服务,我如何使用该方法呢?@VladimirSelin jersey实现了使用JAXB for XML的JAX-RS(你应该知道)。我知道=)。问题是-如果你能建议我如何“告诉”Jersey它应该使用哪个JAXB工厂,就像在我的应用程序中一样。Jersey自己做所有事情。提前感谢)你让我在这里工作:)。谷歌搜索大约一秒钟:我非常抱歉。谢谢=)