首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于DOM的XML解析

基于DOM的XML解析
EN

Stack Overflow用户
提问于 2012-07-05 17:13:53
回答 1查看 105关注 0票数 0
代码语言:javascript
复制
    NodeList nList2 = doc.getElementsByTagName("dep");
    Map<String, List<Map<String, String>>> depMap = new HashMap<String, List<Map<String, String>>>();
    for (int temp = 0; temp < nList2.getLength(); temp++) {
      Element el = (Element)nList2.item(temp);
      String type=el.getAttribute("type");
      Node nNode = nList2.item(temp);
      if (nNode.getNodeType() == Node.ELEMENT_NODE) {
        Element eElement = (Element) nNode;
        List<Map<String,String>> depList = new ArrayList<Map<String,String>>();
        String governor = getTagValue("governor", eElement);
        String dependent = getTagValue("dependent", eElement);
        Map<String, String> govdepmap = new HashMap<String, String>();
        govdepmap.put(governor, dependent);
        depList.add(govdepmap);
        List<Map<String,String>> flist = new ArrayList<Map<String,String>>();
        flist.add(govdepmap);
        depMap.put(type, flist);
      }
    }

我的XML文件中有以下结构:

代码语言:javascript
复制
   <basic-dependencies>
              <dep type="nsubj">
                <governor idx="4">going</governor>
                <dependent idx="1">I</dependent>
              </dep>

现在我想存储每个“调控器”和“从属”标记的"idx“属性。我应该更改或添加哪些代码?

EN

回答 1

Stack Overflow用户

发布于 2012-07-05 17:26:40

你可以这样做:

代码语言:javascript
复制
    NodeList liste = eElement.getElementsByTagName("governor");
    NodeList liste2 = eElement.getElementsByTagName("dependent");

如果一个调控器总是有一个依赖项,您可以这样做:

代码语言:javascript
复制
    for(int i=0; i<liste.getLength(); i++){
        Element e = (Element)liste.item(i);
        Element e2 = (Element)liste2.item(i);
        govToIdxMap.put(governor,e.getAttribute("idx"));
        depToIdxMap.put(dependent,e2.getAttribute("idx"));
    }
    List<Map<String,String>> listMap = new ArrayList<>();
    listMap.add(govToIdxMap);
    listMap.add(depToIdxMap);
    Map<String,List<Map<String,String>>> final = new Map<String,List<Map<String,String>>>();
    final.put(governor,listMap);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11341233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档