Getting the Root Element in a DOM Document
The root element of an XML file is not the same as the root element of
a DOM document. In particular, the XML root element is a child of the
DOM's root element. The reason is that the XML root element can have
siblings, such as a DocumentType or a Comment node. The XML
root node can be found by looking for an element node among the
children of the DOM's root node. However, there is a convenient
method, Document.getDocumentElement(), that does the same thing.
This example demonstrates both methods:
// Create a document; this method is implemented in
// The Quintessential Program to Create a DOM Document from an XML File
Document doc = parseXmlFile("infilename.xml", false);
Element root = null;
// Get the XML root node by examining the children nodes
NodeList list = doc.getChildNodes();
for (int i=0; i<list.getLength(); i++) {
if (list.item(i) instanceof Element) {
root = (Element)list.item(i);
break;
}
}
// Get the XML root node the easy way
root = doc.getDocumentElement();
Post a comment