- Timestamp:
- 2022-05-10T14:32:16+12:00 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/gli/src/org/greenstone/gatherer/util/XMLTools.java
r36146 r36170 158 158 if (((Element) child).getAttribute(attribute_name).equals(attribute_value)) 159 159 elements.add((Element) child); 160 } 161 } 162 // not found 163 if (elements.size() == 0) 164 { 165 elements = null; 166 } 167 return elements; 168 } 169 /** 170 * returns a list of elements 171 * parent/node_name[@attribute_name1='attribute_value1', @attribute_name2='attribute_value2'] 172 */ 173 public static ArrayList getNamedElementList(Element parent, String node_name, String[] attribute_names, String[] attribute_values) 174 { 175 ArrayList elements = new ArrayList(); 176 NodeList children = parent.getChildNodes(); 177 if (attribute_values.length != attribute_names.length) { 178 System.err.println("getNamedElementList - different number of attribute names and values"); 179 return null; 180 } 181 for (int i = 0; i < children.getLength(); i++) 182 { 183 //System.out.println("getNamedElementList"); 184 Node child = children.item(i); 185 //logger.debug("getnamed elem, node nmae="+child.getNodeName()); 186 if (child.getNodeName().equals(node_name)) 187 { 188 boolean match = true; 189 for (int a=0; a<attribute_names.length; a++) { 190 if (!((Element) child).getAttribute(attribute_names[a]).equals(attribute_values[a])) { 191 match = false; 192 break; // this one is not the right one 193 } 194 } 195 if (match) { 196 elements.add((Element) child); 197 } 160 198 } 161 199 } … … 1052 1090 } 1053 1091 1092 public static String xmlNodeListToString(NodeList nl) { 1093 StringBuffer sb = new StringBuffer(""); 1094 for (int i=0; i<nl.getLength(); i++) { 1095 xmlNodeToString(sb, nl.item(i), true, "\t", 2); 1096 } 1097 return sb.toString(); 1098 } 1054 1099 public static void xmlNodeToString(StringBuffer sb, Node e, boolean indent, String indentString, int depth) 1055 1100 {
Note:
See TracChangeset
for help on using the changeset viewer.