如何将 xml 文件转换为地图?
<?xml version="1.0"?>
<tree desc="container">
<node name="node1" class="com.nodes.Node1">
<subnodes>
<node name="node2" class="com.nodes.Node2">
<subnodes>
<node name="node3" class="com.nodes.Node3"/>
</subnodes>
</node>
<node name="node4" class="com.nodes.Node4"/>
<node name="node5" class="com.nodes.Node5">
<subnodes>
<node name="node6" class="com.nodes.Node6"/>
</subnodes>
</node>
<node name="node7" class="com.nodes.Node7"/>
</subnodes>
</node>
</tree>
到Map<String, Node> treeDeps
?
这是节点类
public abstract class AbstractNode implements Node {
String name;
List<Node> subNodes;
// other methods omitted
}
public interface Node {
// methods omitted
}
我不想创建一个单独的实体来保存所有树。而不是我想将所有东西解组到Map
.
这是我的解组代码
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> val = mapper.readValue(new File(path), Map.class);
更新
XmlMapper mapper = new XmlMapper();
InputStream resource = TreeReader.class.getResourceAsStream(path);
Map<String, Object> val = mapper.readValue(resource, Map.class);
现在我可以解析数据了。但我不需要向我的 Map 添加一个<tree>
节点。所以我需要排除它。我该怎么做?