Get Child Content : DOM Tree « XML « Java






Get Child Content

  
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class Main {
  public static String getChildContent(Element parent, String name, String missing, String empty) {
    Element child = getChild(parent, name);
    if (child == null) {
      return missing;
    } else {
      String content = (String) getContent(child);
      return (content != null) ? content : empty;
    }
  }

  public static Object getContent(Element element) {
    NodeList nl = element.getChildNodes();
    StringBuffer content = new StringBuffer();
    for (int i = 0; i < nl.getLength(); i++) {
      Node node = nl.item(i);
      switch (node.getNodeType()) {
      case Node.ELEMENT_NODE:
        return node;
      case Node.CDATA_SECTION_NODE:
      case Node.TEXT_NODE:
        content.append(node.getNodeValue());
        break;
      }
    }
    return content.toString().trim();
  }

  public static Element getChild(Element parent, String name) {
    for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
      if (child instanceof Element && name.equals(child.getNodeName())) {
        return (Element) child;
      }
    }
    return null;
  }
}

   
    
  








Related examples in the same category

1.Creating a new DOM tree
2.Create new DOM tree with fully qualified element names
3.Traverse the DOM tree as a list
4.Traverse the DOM tree using TreeWalker
5.Reading a DOM tree from XML document
6.Copying a Subtree of Nodes in a DOM Document
7.Copying a Subtree of Nodes from One DOM Document to Another
8.Saving a DOM tree to XML file javax.xml.parsers (JAXP)
9.Using ranges in DOM tree
10.Accessing different types of DOM tree nodes
11.Manipulate w3c DOM trees
12.Returns an iterator over the children of the given element with the given tag name
13.Gets the child of the specified element having the specified name. If the child with this name doesn't exist then null is returned instead.
14.Gets the child of the specified element having the specified unique name
15.Traverse a DOM tree in order to get information about the document.
16.Get this Document's root node
17.Returns the concatenated child text of the specified node.
18.Get the first child of the specified type.
19.Get the first child's content ( ie it's included TEXT node ).
20.Get the first direct child with a given type
21.Print Tree node
22.DOM Util: get Child Text
23.Search earlier siblings for a given node
24.Search for a named child of a given node
25.Search our next siblings for a given node
26.Search up the tree for a given node
27.Return the next sibling with a given name and type
28.Traverse a DOM tree in order to print a document that is parsed.