Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Yes, when using OMXMLBuilderFactory.createOMBuilder().getDocumentElement(), all elements without a body will be created as empty elements. This means that the element will have an opening tag and a closing tag, but there will be no content in between. The following example demonstrates this:

XML input:

<root>
  <emptyElement />
  <nonEmptyElement>Some text</nonEmptyElement>
</root>

Java code:

OMElement rootElement = OMXMLBuilderFactory.createOMBuilder().getDocumentElement();
OMElement emptyElement = rootElement.getFirstChildWithName(QName.valueOf("emptyElement"));
OMElement nonEmptyElement = rootElement.getFirstChildWithName(QName.valueOf("nonEmptyElement"));

System.out.println(emptyElement.toStringWithConsume());
System.out.println(nonEmptyElement.toStringWithConsume());

Output:

<emptyElement/>
<nonEmptyElement>Some text</nonEmptyElement>

As you can see, the empty element is created as <emptyElement/>.