日期:2014-05-17  浏览次数:20757 次

xml 转译doc文件问题,请高手指点
如下xml文件:
 <a>
     <b>
        <c>内容1</c>
        <d>内容2</d>
    </b> 
    <b>
        <c>内容3</c>
        <d>内容4</d>
    </b>
    <e>...</e>
    <f>...</f>  
</a>

我将xml文件循环解析出来了,但是在转译成doc文件时,出现匹配<c>标签和<d>标签时,只显示最后出现的内容3和内容4两个,前面的被内容1和2被覆盖掉了。

例如  doc文件里有:     
                  员工A姓名:====c   性别:====d  
               员工B姓名:====c   性别:====d

我希望出现的匹配效果是:
                       员工A姓名:内容1    性别:内容2  
                   员工B姓名:内容3    性别:内容4

现在出现的匹配效果是:
                       员工A姓名:内容3    性别:内容4  
                   员工B姓名:内容3    性别:内容4


下面是解析代码:
       Map map = new HashMap();
      File inputXml = new File(fileName);
      SAXReader saxReader = new SAXReader();
      org.dom4j.Document document = saxReader.read(inputXml);
      Element element = document.getRootElement();
      List b= new ArrayList();
      for (Iterator i = element .elementIterator(); i.hasNext();) 
         {
           Element element2= (Element) i.next();
   map.put("====" + element2.getName().trim(), element2.getText().trim());
           if ("b".equals(element2.getName().trim())) 
             {
       Map map2= new HashMap();
       for (Iterator j = element2.elementIterator(); j.hasNext();) 
                  {
    Element element3= (Element) j.next();
    map2.put("====" + element3.getName().trim(), element3.getText().trim());
  }
       
       map.putAll(map2);
     } 
         }

下面是转译代码:
&nbs