Don’t Be Afraid to Use Helper Classes
This is more of a general tip for working with DOM, but it still certainly belongs in the category of best practices. When working with the DOM, you should always write yourself a suite of helper classes, or at least look around for existing suites.
I have several versions of helper classes floating around my
development environments at any given time, usually with names such
as DOMHelper, DOMUtil, or some
other permutation. I’ve omitted many of these from
this chapter, as the methods in those classes are specific to the
kinds of DOM manipulation I perform, which are likely different from
the kinds of DOM manipulation you will perform. If, for example, you
often need to walk trees, you may want a method such as the one shown
in Example 5-12 to easily obtain the text of a
node.
// Get the text of a node without the extra TEXT node steps.
public static String getText(Node node) {
// Make sure this is an element.
if (node instanceof Element) {
// Make sure there are children.
if (node.hasChildNodes( )) {
StringBuffer text = new StringBuffer( );
NodeList children = node.getChildNodes( );
for (int i=0; i<children.getLength( ); i++) {
Node child = children.item(i);
if (child.getNodeType( ) = = Node.TEXT_NODE) {
text.append(child.getNodeValue( ));
}
}
return text.toString( );
} else {
return null;
}
} else {
return null;
}
}This is one of two types of methods that retrieve the text of an element. This ...