Я не вижу опции в javax.xml.stream.XMLEventWriter
или javax.xml.stream.XMLOutputFactory
настраивать любого способом так, чтобы пустые элементы были записаны (вместо явного запуска и пар элемента конца).
Я вижу, что Woodstox имеет свойство, чтобы сделать это, но он не стандартизирован.
Я пропускаю какой-либо очевидный способ сделать это?
Нет. Нет семантической разницы между
и
, а стандартные API-интерфейсы не предоставляют способ запроса того или другого.
Вы, вероятно, уже знаете это, но XMLStreamWriter действительно имеет метод для указания, что это должен быть "настоящий" пустой элемент. XMLEventWriter не хватает нескольких частей, которые есть у интерфейса более низкого уровня.
Настройка свойства для создания пустых тегов, как
, работает с API WoodStox:
WstxOutputFactory factory = new WstxOutputFactory();
factory.setProperty(WstxOutputFactory.P_AUTOMATIC_EMPTY_ELEMENTS, true);
Мне нужен отступ в тегах XML. метод setIndentation не работает ни с javax.xml.stream.XMLOutputFactory, ни с org.codehaus.stax2.XMLOutputFactory2