我正在尝试执行一个数据迁移练习,将一系列xml文件加载到新格式中。我发现的问题是,遗留应用程序生成的xml带有无效的标记,即一些标记包含空格,例如:
<Serial>0001</Serial>
<Document ID>12345</Document ID>
<Document Type>TypeA</Document Type>
不幸的是,遗留系统中没有人员资源来更正xml,所以我唯一的选择是在处理数据时修复它。
有没有人能用一种简洁的方法来使用Java8从xml标记中删除空白,使它们能够有效地进行解析?
我最初提取xml的代码是
final XmlMapper xmlMapper = new XmlMapper();
final JsonNode jsonNode = xmlMapper.readTree(metadata);
return objectMapper.convertValue(jsonNode, new TypeReference<Map<String, String>>()
非常感谢
1条答案
按热度按时间but5z9lq1#
这不是java8特定的解决方案,但它满足了您的要求。将整个xml作为一个字符串,它使用模式匹配来标识xml标记,并删除其中的任何空格字符。最后,
correctXmlString
具有有效的xml标记。