要用你那种格式的内容加到list里面好像蛮复杂的,可不可以直接用I/O操作依次读入xml文件的每一行,然后查找到自己要得内容,然后再加入到list中去呢?这样应该比用xml解析器快吧。

解决方案 »

  1.   

    to mog(暗黑魔兽),
    thanks,能举个例子么?
      

  2.   

    thanks,
    哪位高手能帮助实现一下?
      

  3.   

    你可以用org.w3c.dom内的类,来达到你的目的。
    这个类提供了对xml文档的操作。
      

  4.   

    thanks feiyuegaoshan(飞跃) .
    能不能具体一点?
      

  5.   

    javax.xml.parsers.DocumentBuilder 可以解析xml文件为内部对象org.w3c.dom.Document
    Document提供了你查找xml节点的功能。能查找节点了,你就可以过滤了。
      

  6.   

    //***************************************************************************
    /**
    * getComboListData:get Combobox Data from XML ファイル by combobox's Type
    * @param String argsCmbType    combobox's Type
    * @return String[]             List Data
    */
    //***************************************************************************
        public String[][] getComboListData(String argsCmbType) {
          try{
            if (argsCmbType.equals("")) {
              return null;
            }
            //JSDProperty prpty = new JSDProperty();
            String framefilepath = EnvironmentData.getConfigFilePath("Cmbdatapath", EnvironmentData.CONFIG_FILEPATH_PROPERTY);
            Document doc = (Document) TermTool.fileToDocument(framefilepath);
            Element rootElement = doc.getDocumentElement();
            System.out.println("argsCmbType::" + argsCmbType);
            NodeList ndCmbType = rootElement.getElementsByTagName(argsCmbType.trim());
            Element elCmblst = (Element) ndCmbType.item(0);
            NodeList ndCmblst = elCmblst.getElementsByTagName("list");
            int indlen = ndCmblst.getLength();
            String[][] vcmblstdata = new String[2][indlen];
            for (int i = 0; i < indlen; i++) {
              Element elCmblstData = (Element) ndCmblst.item(i);
    //          if(elCmblstData.getAttribute("code")!=null){
              vcmblstdata[0][i] = elCmblstData.getAttribute("code");
    //          }
              if(elCmblstData.getAttribute("value")!=null){
                vcmblstdata[1][i] = elCmblstData.getAttribute("value");
              }else{
                vcmblstdata[1][i] = "";
              }
            }
            return vcmblstdata;
          }catch(Exception e){
            //e.printStackTrace();
             return null;
          }    }//******************************************************************************]
    <?xml version="1.0" encoding="Shift_JIS"?>
    <ComboBox SearchResultVersion="1.0">
    <kensakuhizuketype>
              <list code = "0" value ="入稿日"/>
              <list code = "1" value ="掲載日"/>
              <list code = "2" value ="出稿日"/>
    </kensakuhizuketype>
    </ComboBox>