我的xml为:<?xml version="1.0" encoding="UTF-8" ?>
<data>
<entcode>企业代码</entcode>
<users_info>
<user id="liufei" mode="01">
<isadmin>是否企业管理员</isadmin>
<password>帐户口令</password>
<name>员工姓名</name>
<email>邮件地址</email>
</user>
<user id="zanghui" mode="01">
<isadmin>是否企业管理员</isadmin>
<password>帐户口令</password>
<name>员工姓名</name>
<email>邮件地址</email>
</user>
</users_info>
</data> 我的解析代码为:
package com.sitech.cic.edsmp.syninformationoperater.changeBasicNotify;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
/**
 * 读取模版xml文件的类
 * @author TanChao
 * 下面是xml的例子
 *<?xml version="1.0" encoding="GBK"?>
 *<stencils>
 *  <stencil id="001">
 *   <name>激情模版</name>
 *    <authorName>网站默认</authorName>
 *   <authorId>000000</authorId>
 *   <scope>1</scope>
 *   <state>0</state>
 *  </stencil>
 *</stencils>
 */
public class changeBasicNotifyXml{
   private static String[][] XZZstencilsXML;
   private static String[][] GZSstencilsXML;
   
  
   public static String[][] getXZZStenclisXML(){
      if (XZZstencilsXML!=null) return XZZstencilsXML;
      XZZstencilsXML=changeBasicNotifyXml.getXml("D:\\workspace\\DIYManageSOAP\\src\\test\\contents1.xml");
      return XZZstencilsXML;
   }   public static String[][] getGZSStenclisXML(){
      if (GZSstencilsXML!=null) return GZSstencilsXML;
      GZSstencilsXML=changeBasicNotifyXml.getXml("D:\\workspace\\DIYManageSOAP\\src\\test\\contents1.xml");
      return GZSstencilsXML;
   }
   
   
   private changeBasicNotifyXml(){}
   private static String[][] getXml(String file){
      List list=new ArrayList();
      DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
      try {
         DocumentBuilder dombuilder=domfac.newDocumentBuilder();
         InputStream is=new FileInputStream(file);
         Document doc=dombuilder.parse(is);
         Element root=doc.getDocumentElement();//获得Root元素
         NodeList stencils=root.getChildNodes(); //获得Root元素的子节点列表  
         
       
         NodeList stencils1=doc.getElementsByTagName("user");
         if(stencils1!=null){
            for(int i=0;i<stencils1.getLength();i++){
           
               Node user=stencils1.item(i); 
               if(user.getNodeType()==Node.ELEMENT_NODE){
                String[] temp=new String[6];
                 
                
                   String id1=user.getAttributes().getNamedItem("id").getNodeValue();
                      temp[0]=id1;
                      
                  for(Node node=user.getFirstChild();node!=null;node=node.getNextSibling()){
                     if(node.getNodeType()==Node.ELEMENT_NODE){
                        if(node.getNodeName().equals("isadmin")){
                           String isadmin=node.getFirstChild().getNodeValue();
                           temp[1]=isadmin;
                        }
                        if(node.getNodeName().equals("password")){
                           String password=node.getFirstChild().getNodeValue();
                           temp[2]=password;
                        }
                        if(node.getNodeName().equals("name")){
                           String name=node.getFirstChild().getNodeValue();
                           temp[3]=name;
                        }
                        if(node.getNodeName().equals("email")){
                           String email=node.getFirstChild().getNodeValue();
                           temp[4]=email;
                        }
                      
                     }
                  }
                 
                  list.add(temp);
               }
            }
         }
      } catch (ParserConfigurationException e) {
         e.printStackTrace();
      } catch (FileNotFoundException e) {
         e.printStackTrace();
      } catch (SAXException e) {
         e.printStackTrace();
      } catch (IOException e) {
         e.printStackTrace();
      }
      String[][] result=new String[list.size()][6];
      for (int i=0;i<list.size();i++){
         String[] temp=(String[])list.get(i);
         for (int j=0;j<6;j++){
            result[i][j]=temp[j];
         }
      }
      return result;
   }
   public static void main(String[] args) {
      String[][] s=changeBasicNotifyXml.getGZSStenclisXML();
      for (int i=0;i<s.length;i++){
         System.out.println("id="+s[i][0]);
         System.out.println("\t isadmin="+s[i][1]);
         System.out.println("\t password="+s[i][2]);
         System.out.println("\t name="+s[i][3]);
         System.out.println("\t email="+s[i][4]);
   
      }
   }
}
问题:现在打印结果为id=liufei
 isadmin=是否企业管理员
 password=帐户口令
 name=员工姓名
 email=邮件地址
id=zanghui
 isadmin=是否企业管理员
 password=帐户口令
 name=员工姓名
 email=邮件地址
我现在想把<entcode>企业代码</entcode>放在打印结果的第一行中,怎么添加这个代码啊,我不太熟悉,感觉应该不难把。   

解决方案 »

  1.   

    NodeList stencils1=doc.getElementsByTagName("user"); 
       你这里是从user标签开始解析的,你把它变成NodeList stencils1=doc.getElementsByTagName("data"); 之后内部代码可能也是需要更改,
      

  2.   

    NodeList codeList=doc.getElementsByTagName("entcode"); 
            if(codeList!=null){ 
                for(int i=0;i <codeList.getLength();i++){ 
              
                  Node user=codeList.item(i); 
                  if(user.getNodeType()==Node.ELEMENT_NODE)
                  {
                   String id1=user.getTextContent();
                     System.out.println(id1);
                     System.out.println("");
                  }
                  }
            }这块加在NodeList stencils1=doc.getElementsByTagName("user"); 
            if(stencils1!=null){ 
                for(int i=0;i <stencils1.getLength();i++){ 
              
                  Node user=stencils1.item(i); 
                  if(user.getNodeType()==Node.ELEMENT_NODE){ 
                  String[] temp=new String[6]; 这段之前