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

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

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

    捕風(fēng)之巢

    統(tǒng)計

    留言簿(3)

    java友情鏈接

    閱讀排行榜

    評論排行榜

    采用org.w3c.dom進(jìn)行XML操作(三) (轉(zhuǎn)載)

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

    XmlCreater.java

    ?用于創(chuàng)建XML文件

    /********************************************************************
    ?* 項目名稱????:rochoc???<p>
    ?* 包名稱? ????:rochoc.xml.oper?<p>
    ?* 文件名稱????:XmlCreater???<p>
    ?* 編寫者 ????:luoc????<p>
    ?* 編寫日期????:2005-6-22????<p>
    ?* 程序功能(類)描述?:?創(chuàng)建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>
    ?* 類描述: 創(chuàng)建DOM并生成XML文件<p>
    ?* 編寫者 :luoc<p>
    ?* 編寫日期 :2005-6-22<p>
    ?* 主要public成員變量:<p>
    ?* 主要public方法:?? <p>
    ?**/

    public class XmlCreater
    {
    ??? /**
    ???? *構(gòu)造函數(shù)說明:?????? <p>
    ???? *參數(shù)說明:@param path? xml文件路徑 <p>
    ??? **/
    ??? public XmlCreater(String path)
    ??? {
    ??????? this.path=path;
    ??????? init();
    ??? }
    ???
    ??? /**
    ??? * 方法名稱:init<p>
    ??? * 方法功能: 初始化函數(shù)?????????? <p>
    ??? * 參數(shù)說明: <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>
    ??? * 方法功能:創(chuàng)建根結(jié)點,并返回??????????? <p>
    ??? * 參數(shù)說明:@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結(jié)點下增加子結(jié)點tagName<p>
    ??? * 參數(shù)說明:@param parent
    ??? * 參數(shù)說明:@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結(jié)點下增加值為value的子結(jié)點tabName<p>
    ??? * 參數(shù)說明:@param parent
    ??? * 參數(shù)說明:@param tagName
    ??? * 參數(shù)說明:@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結(jié)點下增加屬性 <p>
    ??? * 參數(shù)說明:@param parent
    ??? * 參數(shù)說明:@param attrName 屬性名
    ??? * 參數(shù)說明:@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>
    ??? * 方法功能:根據(jù)DOM生成XML文件<p>
    ??? * 參數(shù)說明: <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 要設(shè)置的 doc。
    ???? */
    ??? public void setDoc(Document doc)
    ??? {
    ??????? this.doc = doc;
    ??? }
    ??? /**
    ???? * @return 返回 path。
    ???? */
    ??? public String getPath()
    ??? {
    ??????? return path;
    ??? }
    ??? /**
    ???? * @param path 要設(shè)置的 path。
    ???? */
    ??? public void setPath(String path)
    ??? {
    ??????? this.path = path;
    ??? }
    ??? /*全局變量*/
    ??? private Logger logger = Logger.getLogger(getClass().getName());
    ??? private Document doc=null;//新創(chuàng)建的DOM
    ??? private String path=null;//生成的XML文件絕對路徑
    }

    posted on 2007-03-22 14:50 捕風(fēng) 閱讀(731) 評論(0)  編輯  收藏 所屬分類: xml應(yīng)用

    主站蜘蛛池模板: 99视频免费观看| 毛片在线全部免费观看| 一级特黄特色的免费大片视频| 有码人妻在线免费看片| 国产VA免费精品高清在线| 久章草在线精品视频免费观看| 很黄很黄的网站免费的| 日本高清免费中文字幕不卡| 亚洲视频一区二区| 亚洲精品免费在线观看| 亚洲中文字幕久在线| 国产亚洲精品欧洲在线观看| 国产亚洲精品免费视频播放| 又大又硬又爽又粗又快的视频免费| 在线观看无码的免费网站| 亚洲黄黄黄网站在线观看| 亚洲最新视频在线观看| 18禁免费无码无遮挡不卡网站| 最近免费中文字幕4| 亚洲精品tv久久久久久久久久| 亚洲av无码精品网站| 亚洲国产综合精品中文第一| 一区二区免费在线观看| 91在线老王精品免费播放| 在线jyzzjyzz免费视频| 亚洲乱码日产一区三区| 中文字幕在线观看亚洲日韩| 国产伦精品一区二区免费| 久久精品免费一区二区| 亚洲AV无码一区二区三区国产| 亚洲欧洲日产国产综合网| 亚洲A∨精品一区二区三区下载| 十八禁在线观看视频播放免费| 男人的好免费观看在线视频| 国内精品久久久久久久亚洲| 亚洲国产91在线| a级毛片视频免费观看| 成人看的午夜免费毛片| 亚洲AV无码久久精品色欲| 国产精品亚洲а∨天堂2021 | 亚洲人成电影在线观看青青|