Java 怎么获取具有默认值的XML节点值

2019年7月23日22:50:04Java 怎么获取具有默认值的XML节点值已关闭评论 531 1431字阅读4分46秒

1.简介

Java 怎么获取具有默认值的XML节点值?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */


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

public class Main {
    public static String getNodeValue(final Node parentNode,
            final String strNodeName, final String strDefaultValue) {
        return getNodeValue(parentNode.getChildNodes(), strNodeName,
                strDefaultValue);
    }

    public static int getNodeValue(final Node parentNode,
            final String strNodeName, final int iDefaultValue) {
        final String strValue = getNodeValue(parentNode.getChildNodes(),
                strNodeName, null);

        if (strValue != null) {
            return Integer.parseInt(strValue);
        }

        return iDefaultValue;
    }

    public static long getNodeValue(final Node parentNode,
            final String strNodeName, final long lDefaultValue) {
        final String strValue = getNodeValue(parentNode.getChildNodes(),
                strNodeName, null);

        if (strValue != null) {
            return Long.parseLong(strValue);
        }

        return lDefaultValue;
    }

    public static double getNodeValue(final Node parentNode,
            final String strNodeName, final double dDefaultValue) {
        final String strValue = getNodeValue(parentNode.getChildNodes(),
                strNodeName, null);

        if (strValue != null) {
            return Double.parseDouble(strValue);
        }

        return dDefaultValue;
    }

    public static String getNodeValue(final NodeList nodes,
            final String strNodeName, final String strDefaultValue) {
        for (int i = 0; i < nodes.getLength(); ++i) {
            final Node node = nodes.item(i);

            if (node instanceof Element) {
                final Element elem = (Element) node;

                if (elem.getNodeName().equals(strNodeName)) {
                    return elem.getLastChild().getTextContent().trim();
                }
            }
        } 

        return strDefaultValue;
    }
}

 
继续阅读
编程十万个怎么办