Какой XML-файл мне отправить для поля, которое объявлено как nillable?
Вопрос
У меня есть приложение с интерфейсом в стиле REST, которое принимает XML-документы от клиентов через POST.Это приложение написано на Java и использует XML-компоненты для обработки отправленного сообщения.
Определение XML-схемы для поля в сообщении выглядит следующим образом:
<xs:element name="value" type="xs:string" nillable="true" />
Как мне отправить нулевое значение, соответствующее этой спецификации?
Я отправил <value xsi:nil="true" />
но это привело к сбою синтаксического анализатора XML.
Решение
Это правильный способ отправки нулевого значения (при условии, что пространство имен по умолчанию и xsi
пространства имен задаются правильными значениями, а именно "http://www.w3.org/2001/XMLSchema-instance"
для xsi
.) итак, похоже, что вы, возможно, столкнулись с ошибкой в используемом вами анализаторе CML.Что это за сообщение об ошибке?
Вы могли бы попробовать использовать xsi:nil="1"
или используя отдельные теги открытия и закрытия (<value xsi:nil="true"></value>
) чтобы попытаться обойти ошибку.
Другие советы
О чем <value xsi:nil="true"></value>
?Вот что такое в спецификации.
В прошлом, когда у меня были элементы XML, которые были нулевыми, я мог либо не включать их, либо отправлять их пустыми, так что в вашем случае это было бы:<value />
Вы пробовали это?