Java tutorial
//package com.java2s; /* * Copyright (c) 2013 VMware, Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0 * * 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 java.util.ArrayList; import java.util.HashMap; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; public class Main { /** * Puts the node attributes (if it has any) into HashMap<String,String> Retrieves only those * attributes that are in attr ArrayList Ignores other attributes values that are in node * * @param node : XML node to look for its attributes * @param attrNames : attributes to fetch from node * @return Hashmap<String,String> of the node attributes */ public static HashMap<String, String> getAttributesByName(Node node, ArrayList<String> attrNames) { String attrName = null; String attrValue = null; HashMap<String, String> attributesMap = new HashMap<String, String>(); NamedNodeMap attributes = node.getAttributes(); for (int attrIndex = 0; attrIndex < attributes.getLength(); attrIndex++) { attrName = attributes.item(attrIndex).getNodeName(); attrValue = attributes.item(attrIndex).getNodeValue(); if (attrNames.contains(attrName)) { attributesMap.put(attrName, attrValue); } } return attributesMap.size() == 0 ? null : attributesMap; } /** * Puts the node attributes (if it has any) into HashMap<String,String> * * @param node : XML node to look for its attributes * @return Hashmap<String,String> of the node attributes */ public static HashMap<String, String> getAttributes(Node node) { String attrName = null; String attrValue = null; HashMap<String, String> attributesMap = new HashMap<String, String>(); NamedNodeMap attributes = node.getAttributes(); for (int attrIndex = 0; attributes != null && attrIndex < attributes.getLength(); attrIndex++) { attrName = attributes.item(attrIndex).getNodeName(); attrValue = attributes.item(attrIndex).getNodeValue(); attributesMap.put(attrName, attrValue); } return attributesMap.size() == 0 ? null : attributesMap; } }