我有一个带有 REST 样式接口的应用程序,它通过 POST 从客户端获取 XML 文档。此应用程序是用 Java 编写的,并使用 XML bean 来处理发布的消息。
消息中字段的 XML 模式定义如下所示:
<xs:element name="value" type="xs:string" nillable="true" />
如何发送符合此规范的空值?
我发送<value xsi:nil="true" />
了,但这导致 XML 解析器出错。
怎么样<value xsi:nil="true"></value>
?这就是规范中的内容。
过去,当我的 XML 元素为空时,我既不能包含它们,也不能将它们发送为空,因此,在您的情况下,它是:
<value />
你试过吗?
这是发送 nil 值的正确方法(假设默认命名空间和xsi
命名空间设置为正确的值,即"http://www.w3.org/2001/XMLSchema-instance"
for xsi
.),因此看起来您可能遇到了您正在使用的 CML 解析器中的错误。错误信息是什么?
您可以尝试使用xsi:nil="1"
或使用单独的打开和关闭标记 ( <value xsi:nil="true"></value>
) 来尝试解决该错误。