Java tutorial
//package com.java2s; /* * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. * * Distributable under LGPL license. * See terms of license at gnu.org. */ import org.w3c.dom.*; public class Main { /** * Returns element's CDATA child node (if it has one). * @param element the element whose CDATA we need to get. * @return a CDATASection object containing the specified element's CDATA * content */ public static CDATASection getCDataNode(Element element) { return (CDATASection) getChildByType(element, Node.CDATA_SECTION_NODE); } /** * Returns first of the <tt>element</tt>'s child nodes that is of type * <tt>nodeType</tt>. * @param element the element whose child we need. * @param nodeType the type of the child we need. * @return a child of the specified <tt>nodeType</tt> or null if none * was found. */ public static Node getChildByType(Element element, short nodeType) { if (element == null) return null; NodeList nodes = element.getChildNodes(); if (nodes == null || nodes.getLength() < 1) return null; Node node; String data; for (int i = 0; i < nodes.getLength(); i++) { node = nodes.item(i); short type = node.getNodeType(); if (type == nodeType) { if (type == Node.TEXT_NODE || type == Node.CDATA_SECTION_NODE) { data = ((Text) node).getData(); if (data == null || data.trim().length() < 1) continue; } return node; } } return null; } }