public final class DOMUtil
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
DOMUtil.NodeFilter
Filter interface to be applied when iterating over a DOM tree.
|
static class |
DOMUtil.NodeListImpl
custom implementation of a nodelist
|
Modifier and Type | Method and Description |
---|---|
static org.w3c.dom.Element |
getChildByTagName(org.w3c.dom.Node parent,
java.lang.String tagname)
Iterate over the children of a given node and return the first node
that has a specific name.
|
static java.lang.String |
getNodeAttribute(org.w3c.dom.Node node,
java.lang.String name)
return the attribute value of an element.
|
static org.w3c.dom.Node |
importNode(org.w3c.dom.Node parent,
org.w3c.dom.Node child)
Simple tree walker that will clone recursively a node.
|
static org.w3c.dom.NodeList |
listChildNodes(org.w3c.dom.Node parent,
DOMUtil.NodeFilter filter,
boolean recurse)
list a set of node that match a specific filter.
|
public static org.w3c.dom.NodeList listChildNodes(org.w3c.dom.Node parent, DOMUtil.NodeFilter filter, boolean recurse)
parent
- the parent node to search fromfilter
- the filter that children should match.recurse
- true
if you want the list to be made recursively
otherwise false
.public static java.lang.String getNodeAttribute(org.w3c.dom.Node node, java.lang.String name)
node
- the node to get the attribute from.name
- the name of the attribute we are looking for the value.null
if the
attribute was not found or if node
is not an Element
.public static org.w3c.dom.Element getChildByTagName(org.w3c.dom.Node parent, java.lang.String tagname)
parent
- the node to search child from. Can be null
.tagname
- the child name we are looking for. Cannot be null
.null
if
the parent is null
or if a child does not match the
given name.public static org.w3c.dom.Node importNode(org.w3c.dom.Node parent, org.w3c.dom.Node child)
changeNodeOwner
when we are dealing with DOM L1 implementations since cloneNode(boolean)
will not change the owner document.
changeNodeOwner
is much faster and avoid the costly cloning process.
importNode
is in the DOM L2 interface.parent
- the node parent to which we should do the import to.child
- the node to clone recursively. Its clone will be
appended to parent
.parent