Как интерпретировать содержимое XML-элемента нулевой длины?

#xml

#xml

Вопрос:

Учитывая элемент с содержимым нулевой длины <foo></foo> , является ли текстовое значение foo "" или null ?

Зависит ли ответ от того, интерпретируется ли содержащий документ какой-либо схемой или другой?

Ответ №1:

Это считается пустой строкой. В XML нет понятия «null». Существует значение «nil», которое указывается как атрибут, подобный:

 <foo xsi:nil="true" />
  

Существует также возможность просто опустить элемент, который может считаться «подобным нулю» для потребителя XML.

Например, JAXB маршалирует как «nil», так и отсутствующий элемент в Java null , и вы можете настроить, как он ведет себя в обратном сценарии.