Here you can find the source of printAttributeValue(Element node, String prefix)
Parameter | Description |
---|---|
node | A DOM tree Node |
prefix | A String representing the new prefix |
public static String printAttributeValue(Element node, String prefix)
//package com.java2s; /**/*from ww w . j av a2 s. c o m*/ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (c) 2005 Sun Microsystems Inc. All Rights Reserved * * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the License). You may not use this file except in * compliance with the License. * * You can obtain a copy of the License at * https://opensso.dev.java.net/public/CDDLv1.0.html or * opensso/legal/CDDLv1.0.txt * See the License for the specific language governing * permission and limitations under the License. * * When distributing Covered Code, include this CDDL * Header Notice in each file and include the License file * at opensso/legal/CDDLv1.0.txt. * If applicable, add the following below the CDDL Header, * with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" * * $Id: XMLUtils.java,v 1.5 2008-06-25 05:41:28 qcheng Exp $ * */ import java.io.ByteArrayOutputStream; import java.util.HashSet; import java.util.Set; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Attr; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Main { /** * Print SAML Attribute Element and replace its prefix with the input * prefix. * * @param node * A DOM tree Node * @param prefix * A String representing the new prefix * @return An xml String representation of the DOM tree. */ public static String printAttributeValue(Element node, String prefix) { if (node == null) { return null; } StringBuffer xml = new StringBuffer(100); xml.append('<'); xml.append(prefix).append(node.getLocalName()); NamedNodeMap attrs = node.getAttributes(); int length = attrs.getLength(); for (int i = 0; i < length; i++) { Attr attr = (Attr) attrs.item(i); xml.append(' '); xml.append(attr.getNodeName()); xml.append("=\""); // xml.append(normalize(attr.getNodeValue())); xml.append(attr.getNodeValue()); xml.append('"'); } xml.append('>'); NodeList children = node.getChildNodes(); if (children != null) { int len = children.getLength(); for (int i = 0; i < len; i++) { xml.append(print(children.item(i))); } } xml.append("</"); xml.append(prefix).append(node.getLocalName()); xml.append('>'); return xml.toString(); } public static Set getChildNodes(Node parentNode, String childName) { Set retVal = new HashSet(); NodeList children = parentNode.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node node = children.item(i); if (node.getNodeName().equalsIgnoreCase(childName)) { retVal.add(node); } } return (retVal); } /** * Print a Node tree recursively. * * @param node * A DOM tree Node * @return An xml String representation of the DOM tree. */ public static String print(Node node) { if (node == null) { return null; } try { TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); transformer.setOutputProperty("omit-xml-declaration", "yes"); DOMSource source = new DOMSource(node); ByteArrayOutputStream os = new ByteArrayOutputStream(2000); StreamResult result = new StreamResult(os); transformer.transform(source, result); return os.toString(); } catch (Exception e) { e.printStackTrace(); return null; } } }