Here you can find the source of setCData(Element element, String data)
Parameter | Description |
---|---|
element | the parent element. |
data | the data to set. |
public static void setCData(Element element, String data)
//package com.java2s; /*//from ww w. j a v a 2 s. c om * 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 { /** * Sets data to be the CDATA content of element * * @param element the parent element. * @param data the data to set. */ public static void setCData(Element element, String data) { if (data == null) return; CDATASection txt = getCDataNode(element); if (txt != null) txt.setData(data); else { txt = element.getOwnerDocument().createCDATASection(data); element.appendChild(txt); } } /** * 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; } }