Skip to content

Commit 49e165b

Browse files
committed
Fix U.fromXmlWithoutNamespaces(string).
1 parent 0580e6e commit 49e165b

File tree

1 file changed

+12
-12
lines changed
  • src/main/java/com/github/underscore/lodash

1 file changed

+12
-12
lines changed

src/main/java/com/github/underscore/lodash/Xml.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,29 +1198,29 @@ private static String unescapeName(final String name) {
11981198
private static void addNodeValue(final Map<String, Object> map, final String name, final Object value,
11991199
final BiFunction<Object, Set<String>, String> elementMapper, final Function<Object, Object> nodeMapper,
12001200
final int[] uniqueIds, final Set<String> namespaces) {
1201-
if (map.containsKey(name)) {
1202-
if (TEXT.equals(name)) {
1203-
map.put(name + uniqueIds[0], nodeMapper.apply(getValue(value)));
1201+
final String elementName = unescapeName(elementMapper.apply(name, namespaces));
1202+
if (map.containsKey(elementName)) {
1203+
if (TEXT.equals(elementName)) {
1204+
map.put(elementName + uniqueIds[0], nodeMapper.apply(getValue(value)));
12041205
uniqueIds[0] += 1;
1205-
} else if (COMMENT.equals(name)) {
1206-
map.put(name + uniqueIds[1], nodeMapper.apply(getValue(value)));
1206+
} else if (COMMENT.equals(elementName)) {
1207+
map.put(elementName + uniqueIds[1], nodeMapper.apply(getValue(value)));
12071208
uniqueIds[1] += 1;
1208-
} else if (CDATA.equals(name)) {
1209-
map.put(name + uniqueIds[2], nodeMapper.apply(getValue(value)));
1209+
} else if (CDATA.equals(elementName)) {
1210+
map.put(elementName + uniqueIds[2], nodeMapper.apply(getValue(value)));
12101211
uniqueIds[2] += 1;
12111212
} else {
1212-
final Object object = map.get(name);
1213+
final Object object = map.get(elementName);
12131214
if (object instanceof List) {
1214-
addText(map, name, (List<Object>) object, value);
1215+
addText(map, elementName, (List<Object>) object, value);
12151216
} else {
12161217
final List<Object> objects = U.newArrayList();
12171218
objects.add(object);
1218-
addText(map, name, objects, value);
1219-
map.put(name, objects);
1219+
addText(map, elementName, objects, value);
1220+
map.put(elementName, objects);
12201221
}
12211222
}
12221223
} else {
1223-
final String elementName = unescapeName(elementMapper.apply(name, namespaces));
12241224
if (elementName != null) {
12251225
map.put(elementName, nodeMapper.apply(getValue(value)));
12261226
}

0 commit comments

Comments
 (0)