对于声明为nillable的字段,我发送什么XML?

时间:2008-09-19 21:15:24

标签: xml xsd xml-nil

我有一个带有REST样式界面的应用程序,它通过POST从客户端获取XML文档。此应用程序使用Java编写,并使用XML bean处理发布的消息。

消息中字段的XML模式定义如下所示:

<xs:element name="value" type="xs:string" nillable="true" />

如何发送符合此规范的空值?

我已发送<value xsi:nil="true" /> 但是这导致了XML解析器barf。

3 个答案:

答案 0 :(得分:15)

<value xsi:nil="true"></value>怎么样?这就是in the spec

答案 1 :(得分:1)

在过去,当我的XML元素为null时,我可以不包含它们或将它们发送为空,所以在你的情况下它会是: <value />

你试过吗?

答案 2 :(得分:0)

这是发送nil值的正确方法(假设默认命名空间和xsi命名空间设置为正确的值,即"http://www.w3.org/2001/XMLSchema-instance"的{​​{1}}。)所以它看起来如此就像你可能遇到了你正在使用的CML解析器中的一个错误。什么是错误消息?

您可以尝试使用xsi或使用单独的打开和关闭代码(xsi:nil="1")来尝试解决该错误。