2

如何将 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>节点。所以我需要排除它。我该怎么做?

4

0 回答 0