openamf/src/java/org/openamf/util XMLUtils.java,NONE,1.1

[email protected]
Newsgroups gmane.comp.java.openamf.cvs
Message-ID <[email protected]>
Update of /cvsroot/openamf/openamf/src/java/org/openamf/util
In directory sc8-pr-cvs1:/tmp/cvs-serv4614/src/java/org/openamf/util

Added Files:
	XMLUtils.java 
Log Message:
fixed XML support to to use standard DOM classes

--- NEW FILE: XMLUtils.java ---
package org.openamf.util;

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

public class XMLUtils {

	public static String convertDOMToString(Node node) {
		StringBuffer sb = new StringBuffer();
		if (node.getNodeType() == Node.TEXT_NODE) {
			sb.append(node.getNodeValue());
		} else {
			String currentTag = node.getNodeName();
			sb.append('<');
			sb.append(currentTag);
			appendAttributes(node, sb);
			sb.append('>');
			if (node.getNodeValue() != null) {
				sb.append(node.getNodeValue());
			}
			
			appendChildren(node, sb);
			
			appendEndTag(sb, currentTag);
		}
		return sb.toString();
	}

	private static void appendAttributes(Node node, StringBuffer sb) {
		if (node instanceof Element) {
			NamedNodeMap nodeMap = node.getAttributes();
			for (int i = 0; i < nodeMap.getLength(); i++) {
				sb.append(' ');
				sb.append(nodeMap.item(i).getNodeName());
				sb.append('=');
				sb.append('"');
				sb.append(nodeMap.item(i).getNodeValue());
				sb.append('"');
			}
		}
	}

	private static void appendChildren(Node node, StringBuffer sb) {
		if (node.hasChildNodes()) {
			NodeList children = node.getChildNodes();
			for (int i = 0; i < children.getLength(); i++) {
				sb.append(convertDOMToString(children.item(i)));
			}
		}
	}

	private static void appendEndTag(StringBuffer sb, String currentTag) {
		sb.append('<');
		sb.append('/');
		sb.append(currentTag);
		sb.append('>');
	}


}




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.