Android XML Element Child Get getCDataNode(Element element)

Here you can find the source of getCDataNode(Element element)

Description

Returns element's CDATA child node (if it has one).

License

LGPL

Parameter

Parameter Description
element the element whose CDATA we need to get.

Return

a CDATASection object containing the specified element's CDATA content

Declaration

public static CDATASection getCDataNode(Element element) 

Method Source Code

//package com.java2s;
/*/*from   w w w .  jav  a2 s  .  co  m*/
 * Jitsi, 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;
    }
}

Related

  1. getFullTextChildrenFromElement(Element element)
  2. printChildElements(Element root, PrintStream out, boolean recurse, String prefix)
  3. valueOfFirstChildWithName(Element element, String name)
  4. attributeOfFirstChildWithName(Element element, String name, String attribute)
  5. childrenWithName(Element e, String name)
  6. locateElements(Element root, String tagName, String keyAttributeName, String keyAttributeValue)
  7. locateElement(Element root, String tagName, String keyAttributeName, String keyAttributeValue)
  8. valueOfFirstDescendantWithName(Element element, String name)
  9. firstDescendantWithName(Element element, String name)