Java XML Attribute from Node getNodeAttributeAsInt(Node node, String attributeName, int defaultValue)

Here you can find the source of getNodeAttributeAsInt(Node node, String attributeName, int defaultValue)

Description

get Node Attribute As Int

License

LGPL

Parameter

Parameter Description
node a parameter
attributeName a parameter
defaultValue a parameter

Exception

Parameter Description
TelosysToolsException an exception

Declaration

public static int getNodeAttributeAsInt(Node node, String attributeName, int defaultValue) 

Method Source Code

//package com.java2s;
/**//from   w  w w . j  ava  2  s  .co m
 *  Copyright (C) 2008-2014  Telosys project org. ( http://www.telosys.org/ )
 *
 *  Licensed under the GNU LESSER GENERAL PUBLIC LICENSE, Version 3.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *          http://www.gnu.org/licenses/lgpl.html
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

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

public class Main {
    /**
     * @param node
     * @param attributeName
     * @return
     * @throws TelosysToolsException
     */
    public static int getNodeAttributeAsInt(Node node, String attributeName) {
        String s = getNodeAttribute(node, attributeName);
        if (null == s) {
            throw new RuntimeException("XML error : int attribute '" + attributeName + "' not found");
        } else {
            return convertToInt(attributeName, s);
        }
    }

    /**
     * @param node
     * @param attributeName
     * @param defaultValue
     * @return
     * @throws TelosysToolsException
     */
    public static int getNodeAttributeAsInt(Node node, String attributeName, int defaultValue) {
        String s = getNodeAttribute(node, attributeName);
        if (null == s) {
            return defaultValue;
        } else {
            return convertToInt(attributeName, s);
        }
    }

    /**
     * @param node
     * @param attributeName
     * @return
     */
    public static String getNodeAttribute(Node node, String attributeName) {
        String sRetValue = null;
        NamedNodeMap attributes = node.getAttributes();
        if (attributes != null) {
            //--- Find the attribute 
            Node attrib = attributes.getNamedItem(attributeName);
            if (attrib != null) {
                //--- Get the attribute value
                sRetValue = attrib.getNodeValue();
            }
        }
        return sRetValue;
    }

    private static int convertToInt(String sAttributeName, String s) {
        int i = 0;
        try {
            i = Integer.parseInt(s);
        } catch (NumberFormatException e) {
            throw new RuntimeException("XML error : attribute '" + sAttributeName + "' is not an integer", e);
        }
        return i;
    }
}

Related

  1. getNodeAttribute(Node node, String name)
  2. getNodeAttribute(Node node, String name, String def)
  3. getNodeAttribute(Node node, String s)
  4. getNodeAttribute(Node QueryNode, String AttrName)
  5. getNodeAttribute(Node thisNode, String key)
  6. getNodeAttributeDeep(NodeList nodelList, String nodeName, String nodeAttr)
  7. getNodeAttributes(final Node node)
  8. getNodeAttributesToString(Node node)
  9. getNodeAttributeValue(Node element, String attributeName)