国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java 與 XML 結合使用的心得體會(二)

2019-11-18 12:50:00
字體:
來源:轉載
供稿:網友

  xmlToolTest.class實現了對xml文檔的操作。包括建立一個新xml document.檔結構及內容或從指定xml文件或的document.構和內容,output到指定的xml文件(或更新xml文件),獲取和設定指定節點名的指定屬性(或屬性列表),在指定節點添加子節點、刪除子節點、編輯子節點(先刪除在添加,待完善),支持在文檔中定位(下標定位,和查詢定位,如:定位到test節點的 name attribute的value="張治中"的節點,有簡單的復合查詢定位,暫時是全and的關系. :) ),定位后可以和全面的操作聯合使用(有點數據庫的影子,和自己想做的應用有關)。后來又根據它做了一個數據庫和xml對導的例子。代碼如下:
  
  package com.ceic.workflow.xml.Tool;
  import com.ceic.workflow.xml.*;
  import org.w3c.dom.*;
  /**
   * Title:    XML處理工具的 運算和實現部分的接口
   * Description: XML處理工具的 運算和實現部分的接口
   * Copyright:  Copyright (c) 2003
   * Company:   國電信息中心
   * @author 張治中
   * @version 1.0
   * XML處理工具的 運算和實現部分 的接口
   * XMLTool的實現子類,其中的XML解析器從XMLParserFactory中獲得.
   * 沒有說明的方法和參數參見XMLTool接口.
   */
  public class XMLToolTest implements XMLTool
  {
  
   PRivate XMLParser parser;
   private String ParserType=
    XMLParserFactory.getDefaultType();
   private String ParserClassName="";
   private int Index=0;
   private String markName="";
   private document.nbspdoc;
   private int DefaultBegin=0;
   private String encoding="UTF8";
   private String filepath="";
   private boolean EnableMakeUp=false;
   private String header="";
    public XMLToolTest()
    {
  
    }
    public Object Build(String path, boolean vali)
    {
     if(path!=null&&path.length() >0){
      parser=XMLParserFactory.getXMLParser
      (ParserType,ParserClassName);
      if(parser!=null){
      doc=(document.parser.parse(path,vali);
      filepath=path;
      return doc;
      }
     }
    return null;
    }
    public Object Build(String xmlString)
    {
     if(xmlString!=null&&xmlString.length() >0){
      parser=XMLParserFactory.getXMLParser
      (ParserType,ParserClassName);
      if(parser!=null){
      doc=(document.parser.parseString(xmlString);
      filepath="";
      return doc;
      }
     }
    return null;
    }
    public void setdocument.ource(document.nbspdocs){
     doc=docs;
    }
  
    public void setParser(String ParserName, String ClassName)
    {
    if(ParserName!=null&&ParserName.length() >0){
     ParserType=ParserName;
     ParserClassName=ClassName;
    }
    }
  
    public void setProperty(String NodeName,String
    propertyName,String value,boolean setall){
     try{
      NodeList list=doc.getElementsByTagName(NodeName);
      if(list.getLength() >0&&value!=null&&value.length()>0)
       {
       if(setall){
        for(int i=0;i  
         if(propertyName!=null&&propertyName.length()>0)
      {
  
          ((Element)list.item(i)).setAttribute
   (propertyName,value);
         }
        else{
          list.item(i).setNodevalue(value);
        }
       }
  
       }else{
  
       if(propertyName!=null&&propertyName.length()>0){
        if(NodeName.equals(markName)){
          ((Element)list.item(Index)).setAttribute
   (propertyName,value);
         }
       else{
          ((Element)list.item(DefaultBegin)).
       setAttribute(propertyName,value);
       }
      }else{
  
       if(NodeName.equals(markName)){
          list.item(Index).setNodevalue(value);
        }
       else{
         list.item(DefaultBegin).setNodevalue(value);
       }
  
      }
      }
     }
     }catch(Exception ee){
      System.out.println("設定"+NodeName+"節點的"+
      propertyName+"屬性出錯");
     }
    }
  
    public String getProperty(String NodeName,
     String propertyName)
    {
     try{
     NodeList list=doc.getElementsByTagName(NodeName);
     if(list.getLength() >0){
     if(propertyName!=null&&propertyName.length() >0){
      if(NodeName.equals(markName)){
       return ((Element)list.item(Index)).getAttribute
    (propertyName);
      }else{
       return ((Element)list.item(DefaultBegin)).
    getAttribute(propertyName);
      }
     }else{
      if(NodeName.equals(markName)){
       return ((Element)list.item(Index)).getNodevalue()
      }else{
       return ((Element)list.item(DefaultBegin)).
    getNodevalue()
      }
     }
     }
     return null;
     }catch(Exception ee){
      System.out.println("getProperty("+NodeName+","+
      propertyName+");出錯"+ee.getMessage());
      return null;
     }
   }
   public String[] getPropertys(String NodeName,
    String propertyName)
    {
     try{
      String[] temp;
      NodeList list=doc.getElementsByTagName(NodeName);
      if(list.getLength() >0){
       if(propertyName!=null&&propertyName.length() >0){
        temp=new String[list.getLength()];
        for(int i=0;i         temp[i]=((Element)list.item(i)).
      getAttribute(propertyName);
        }
        return temp;
       }else{
        temp=new String[list.getLength()];
        for(int i=0;i         temp[i]=((Element)list.item(i)).getNodevalue()
        }
        return temp;
       }
      }
      return null;
     }catch(Exception ee){
      System.out.println("getPropertys("+NodeName+","+
      propertyName+");出錯");
      return null;
     }
   }
  
   public String getParent(String returnAttr){
    String tempreturn="";
    String tempnode=markName
    int tempindex=Index
    NodeList list=doc.getElementsByTagName(markName);
    Node node=list.item(Index);
    if(returnAttr!=null&&returnAttr.length() >0){
     tempreturn=((Element)node.getParentNode()).
      getAttribute(returnAttr);
    }else{
     tempreturn=node.getParentNode().getNodevalue()
    }
    return tempreturn;
    }
  
  
    public void setFormat(String XMLToolName,
     String classname){}
  
    public void addNode(String parent, Node NodeName,
     boolean addall)
    {
     try{
     NodeList list=doc.getElementsByTagName(parent);
  
     if(list.getLength() >0){
      if(addall){
       for(int i=0;i        int type=NodeName.getNodeType()
        switch(type){
         case Node.ATTRIBUTE_NODE: {
          ((Element)list.item(i)).setAttribute(((Attr)
       NodeName).getName() ,((Attr)NodeName).getvalue());
         }
         default:{
          list.item(i).appendChild(NodeName);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武义县| 霍林郭勒市| 普兰店市| 卫辉市| 太仆寺旗| 凌云县| 长岭县| 德庆县| 城固县| 克山县| 郴州市| 太仓市| 平舆县| 延川县| 苗栗市| 黔东| 鲁甸县| 阿拉善左旗| 吉林省| 林口县| 盘山县| 屏东县| 内丘县| 舟曲县| 成武县| 积石山| 南城县| 洪洞县| 隆化县| 西宁市| 方城县| 油尖旺区| 阿瓦提县| 都安| 正蓝旗| 荥经县| 法库县| 临湘市| 岳池县| 齐齐哈尔市| 磴口县|