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

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

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

    捕風之巢

    統計

    留言簿(3)

    java友情鏈接

    閱讀排行榜

    評論排行榜

    采用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 2007-03-22 14:50 捕風 閱讀(731) 評論(0)  編輯  收藏 所屬分類: xml應用

    主站蜘蛛池模板: 亚洲youwu永久无码精品| 精品无码国产污污污免费网站| 一级毛片试看60分钟免费播放| 亚洲一卡二卡三卡四卡无卡麻豆| 久久精品国产亚洲AV久| 亚洲a无码综合a国产av中文| caoporm碰最新免费公开视频| 最近免费中文字幕MV在线视频3| 蜜桃成人无码区免费视频网站| 免费国产成人高清在线观看网站| 日本免费人成视频播放| 中文字幕免费在线观看| 最近免费中文字幕大全视频| 国产zzjjzzjj视频全免费| 亚洲综合亚洲综合网成人| 亚洲成人精品久久| 亚洲欧美国产国产综合一区| 亚洲最大无码中文字幕| 国产黄在线观看免费观看不卡| 999任你躁在线精品免费不卡| 好吊妞在线成人免费| 亚洲中文字幕无码爆乳AV| 国产自偷亚洲精品页65页| 亚洲高清中文字幕综合网| 国产成人高清亚洲一区久久| 99精品视频免费观看| 在线免费观看韩国a视频| 亚洲国产精品无码专区| 亚洲人成人无码.www石榴| 中出五十路免费视频| 欧美日韩国产免费一区二区三区| 久久久久亚洲AV无码专区网站| 亚洲制服丝袜精品久久| h片在线播放免费高清| 在线观看日本免费a∨视频| 成人午夜亚洲精品无码网站| 亚洲Av无码一区二区二三区| 一区视频免费观看| 18禁超污无遮挡无码免费网站国产 | 精品亚洲福利一区二区| 久久免费视频精品|