<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Feng.Li's Java See

    抓緊時間,大步向前。
    隨筆 - 95, 文章 - 4, 評論 - 58, 引用 - 0
    數據加載中……

    采用org.w3c.dom進行XML操作(三)

    采用org.w3c.dom進行XML操作(三)
    ?

    XmlCreater.java

    ?用于創建XML文件

    /********************************************************************
    ?* 項目名稱????:rochoc???<p>
    ?* 包名稱? ????:rochoc.xml.oper?<p>
    ?* 文件名稱????:XmlCreater???<p>
    ?* 編寫者 ????:luoc????<p>
    ?* 編寫日期????:2005-6-22????<p>
    ?* 程序功能(類)描述?:?創建DOM并生成XML文件????? <p>
    ?*
    ?* 程序變更日期???:
    ?* 變更作者????:
    ?* 變更說明????:
    ********************************************************************/
    package rochoc.xml.oper;

    import java.io.File;

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;

    import org.apache.log4j.Logger;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;

    /**
    ?* 類名:XmlCreater? <p>
    ?* 類描述: 創建DOM并生成XML文件<p>
    ?* 編寫者 :luoc<p>
    ?* 編寫日期 :2005-6-22<p>
    ?* 主要public成員變量:<p>
    ?* 主要public方法:?? <p>
    ?**/

    public class XmlCreater
    {
    ??? /**
    ???? *構造函數說明:?????? <p>
    ???? *參數說明:@param path? xml文件路徑 <p>
    ??? **/
    ??? public XmlCreater(String path)
    ??? {
    ??????? this.path=path;
    ??????? init();
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:init<p>
    ??? * 方法功能: 初始化函數?????????? <p>
    ??? * 參數說明: <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? private void init()
    ??? {
    ??????? DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
    ??????? try
    ??????? {
    ??????????? DocumentBuilder builder=factory.newDocumentBuilder();
    ??????????? doc=builder.newDocument();//新建DOM
    ??????? }catch(ParserConfigurationException e)
    ??????? {
    ??????????? logger.error("Parse DOM builder error:"+e);
    ??????? }
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:createRootElement<p>
    ??? * 方法功能:創建根結點,并返回??????????? <p>
    ??? * 參數說明:@param rootTagName <p>
    ??? * 返回:Element <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public Element createRootElement(String rootTagName)
    ??? {????
    ??????? if(doc.getDocumentElement()==null)
    ??????? {
    ??????????? logger.debug("create root element '"+rootTagName+"' success.");
    ??????????? Element root=doc.createElement(rootTagName);
    ??????????? doc.appendChild(root);
    ??????????? return root;
    ??????? }
    ??????? logger.warn("this dom's root element is exist,create fail.");
    ??????? return doc.getDocumentElement();
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:createElement<p>
    ??? * 方法功能:在parent結點下增加子結點tagName<p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param tagName <p>
    ??? * 返回:Element <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public Element createElement(Element parent,String tagName)
    ??? {
    ??????? Document doc=parent.getOwnerDocument();
    ??????? Element child=doc.createElement(tagName);
    ??????? parent.appendChild(child);???????
    ??????? return child;
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:createElement<p>
    ??? * 方法功能:在parent結點下增加值為value的子結點tabName<p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param tagName
    ??? * 參數說明:@param value <p>
    ??? * 返回:Element <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public Element createElement(Element parent,String tagName,String value)
    ??? {
    ??????? Document doc=parent.getOwnerDocument();
    ??????? Element child=doc.createElement(tagName);
    ??????? XmlOper.setElementValue(child,value);
    ??????? parent.appendChild(child);
    ??????? return child;
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:createAttribute<p>
    ??? * 方法功能:在parent結點下增加屬性 <p>
    ??? * 參數說明:@param parent
    ??? * 參數說明:@param attrName 屬性名
    ??? * 參數說明:@param attrValue 屬性值<p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public void createAttribute(Element parent,String attrName,String attrValue)
    ??? {
    ??????? XmlOper.setElementAttr(parent,attrName,attrValue);???????
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:buildXmlFile<p>
    ??? * 方法功能:根據DOM生成XML文件<p>
    ??? * 參數說明: <p>
    ??? * 返回:void <p>
    ??? * 作者:luoc
    ??? * 日期:2005-6-22
    ??? **/
    ??? public void buildXmlFile()
    ??? {
    ??????? TransformerFactory tfactory=TransformerFactory.newInstance();
    ??????? try
    ??????? {
    ??????????? Transformer transformer=tfactory.newTransformer();
    ??????????? DOMSource source=new DOMSource(doc);
    ??????????? logger.debug("New DOMSource success.");
    ??????????? StreamResult result=new StreamResult(new File(path));
    ??????????? logger.debug("New StreamResult success.");
    ??????????? transformer.setOutputProperty("encoding","GBK");
    ??????????? transformer.transform(source,result);
    ??????????? logger.debug("Build XML File '"+path+"' success.");
    ??????? }catch(TransformerConfigurationException e)
    ??????? {
    ??????????? logger.error("Create Transformer error:"+e);
    ??????? }catch(TransformerException e)
    ??????? {
    ??????????? logger.error("Transformer XML file error:"+e);
    ??????? }
    ??? }
    ???
    ??? /**
    ???? * @return 返回 doc。
    ???? */
    ??? public Document getDoc()
    ??? {
    ??????? return doc;
    ??? }
    ??? /**
    ???? * @param doc 要設置的 doc。
    ???? */
    ??? public void setDoc(Document doc)
    ??? {
    ??????? this.doc = doc;
    ??? }
    ??? /**
    ???? * @return 返回 path。
    ???? */
    ??? public String getPath()
    ??? {
    ??????? return path;
    ??? }
    ??? /**
    ???? * @param path 要設置的 path。
    ???? */
    ??? public void setPath(String path)
    ??? {
    ??????? this.path = path;
    ??? }
    ??? /*全局變量*/
    ??? private Logger logger = Logger.getLogger(getClass().getName());
    ??? private Document doc=null;//新創建的DOM
    ??? private String path=null;//生成的XML文件絕對路徑
    }

    posted on 2006-12-05 23:45 小鋒 閱讀(921) 評論(0)  編輯  收藏 所屬分類: J2EE

    主站蜘蛛池模板: 免费在线不卡视频| 日本特黄a级高清免费大片| 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲成AV人片高潮喷水| 国产成人A在线观看视频免费| 亚洲熟妇无码爱v在线观看| 亚洲免费在线观看视频| 亚洲熟妇色自偷自拍另类| 四虎精品视频在线永久免费观看| 精品无码一区二区三区亚洲桃色| 在线免费中文字幕| 亚洲国产日韩女人aaaaaa毛片在线 | 毛片免费观看网址| 久久亚洲精品11p| 亚洲AV成人潮喷综合网| 国产国产人免费人成成免视频| 久久久久无码专区亚洲av| 成人影片一区免费观看| 久久丫精品国产亚洲av| 久久精品女人天堂AV免费观看 | 久久无码av亚洲精品色午夜| 免费一级毛片在级播放| 久久嫩草影院免费看夜色| 久久精品国产精品亚洲艾草网| av大片在线无码免费| 亚洲欧美综合精品成人导航| 国产免费无遮挡精品视频| 中国毛片免费观看| 亚洲成人一级电影| 日产乱码一卡二卡三免费| caoporm超免费公开视频| 亚洲狠狠综合久久| 日韩精品视频免费在线观看| 国产三级在线免费观看| 久久亚洲精品无码aⅴ大香| 大学生高清一级毛片免费| 中文字幕永久免费视频| 亚洲国产日韩在线人成下载| 免费人成在线观看视频播放| 外国成人网在线观看免费视频| 亚洲精品国产精品|